0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

鸿蒙NEXT-API19获取上下文,在class中和ability中获取上下文,API迁移示例-解决无法在EntryAbility中无法使用最新版

wx 来源:jf_45830418 作者:jf_45830418 2025-07-01 10:57 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

使用最新API获取UIContext,上下文

鸿蒙发展很快,转眼API16,modelVersion5.1.1就已经到来了。

很多API在18被废弃了,接下来我们看看有哪些

getContext(this)(已经被废弃了)
poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

我们需要使用UIContext获取UIContext实例进而得到上下文。

示例代码:

1.在组件中:

const uiContext = this.getUIContext()?.getHostContext()//得到上下文Context
this.getUIContext() //得到UIContext实例
poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

2.在类Class中(或者一些工具类.ets文件中):

const context = AppStorageV2.connect(UIContext, 'uiContext', () => new UIContext())?.getHostContext()
poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

3.在ability中:位置(在EntryAbility下的onWindowStageCreate里面写代码)

windowStage.getMainWindow().then((win) => {
      const uiContext = win.getUIContext()//得到UIContext实例
      const Context=uiContext.getHostContext()//得到上下文
  }
poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

注意:使用开发者文档的实例代码

windowStage.getMainWindowSync().getUIContext()
poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

将会报错,报错如下

Error message:This window state is abnormal.

请使用上面作者使用的方法,即可(避免报错无法运行程序)

2.其他API迁移示例

1. promptAction.showToast(),API在最新版中已经废弃了,使用下面示例API即可

//旧版API
promptAction.showToast({ message: '被触发' })
//迁移最新版API示例
promptAction.openToast({ message: '被触发了' })
poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

2.router.replaceUrl(),API在最新版中已经废弃了,使用下面示例API即可

//旧版API(已被废弃)
router.replaceUrl({ url: 'pages/Index' })
//迁移为最新版API示例
this.getUIContext().getRouter().replaceUrl({ url: 'pages/Index' })
poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

3.promptAction.showDialog(),API在最新版中已经废弃了,使用下面示例API即可

//旧版API(已经被废弃)
await promptAction.showDialog({
          message: '请授予应用基础权限,否则应用可能无法正常启动',
          buttons: [{
            text: '确定',
            color: 'blue'
          }]
        })
//迁移最新版API示例
await AppStorageV2.connect(UIContext, 'uiContext', () => new UIContext())?.getPromptAction().showDialog({
          message: '请授予应用基础权限,否则应用可能无法正常启动',
          buttons: [{
            text: '确定',
            color: 'blue'
          }]
        })
poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

4.px2vp的API已经在最新版中被废弃了,迁移为uiContext.px2vp最新API

//旧版API(已经被废弃)
px2vp()
//新版API迁移示例
this.getUIContext().px2vp()
poYBAGDYdXCAWkKMAAAAK8RNs4s030.png



审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • API
    API
    +关注

    关注

    2

    文章

    2147

    浏览量

    66230
  • 鸿蒙
    +关注

    关注

    60

    文章

    2858

    浏览量

    45349
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    关于进程上下文、中断上下文及原子上下文的一些概念理解

    ,内核也要保存用户进程的一些寄存器、变量等,以便系统调用结束后回到用户 空间继续执行, 二、进程上下文 所谓的进程上下文,就是一个进程执行的时候,CPU的所有寄存器的值、进程的状态
    发表于 09-06 09:58

    进程上下文与中断上下文的理解

    :(1)进程上文:其是指进程由用户态切换到内核态是需要保存用户态时cpu寄存器的值,进程状态以及堆栈上的内容,即保存当前进程的进程上下文,以便再次执行该进程时,能够恢复切换时的状态,继续执行。(2
    发表于 12-11 19:45

    JavaScript的执行上下文

    JavaScript执行上下文之执行上下文
    发表于 05-29 16:12

    进程上下文/中断上下文及原子上下文的概念

    为什么会有上下文这种概念进程上下文/中断上下文及原子上下文的概念
    发表于 01-13 07:17

    中断上下文切换详解

    任务上下文切换的诉求。  为什么中断服务函数中会产生任务上下文切换的诉求?因为中断可能会进行信号量post之类的动作(这可能会触发此前一直处于pend状态的,且比当前被中断打断的任
    发表于 03-23 17:18

    HarmonyOS/OpenHarmony(Stage模型)卡片开发应用上下文Context概述

    概述 Context是应用对象的上下文,其提供了应用的一些基础信息,例如resourceManager(资源管理)、applicationInfo(当前应用信息)、dir(应用开发路径)、area
    发表于 08-24 16:30

    基于多Agent的用户上下文自适应站点构架

    自适应站点很少考虑对用户环境的自适应。为此,提出用户上下文自适应站点的概念,给出基于多Agent技术的用户上下文自适应站点构架模型。阐述用户上下文获取、挖掘过程以及站
    发表于 04-11 08:49 13次下载

    基于交互上下文的预测方法

    传统的上下文预测是单用户的上下文基础上进行的,忽视了实际普适计算环境由于用户交互活动导致的上下文变化因素。为了合理、有效地解决上述局限性
    发表于 10-04 14:08 7次下载

    基于Pocket PC的上下文菜单实现

    介绍了基于 Pocket PC 的点按操作概念, 论述了Pocket PC 中上下文菜单的实现原理及方法, 并给出了基于MFC 下的Windows CE 应用程序实现上下文菜单的步
    发表于 07-25 18:26 17次下载

    基于Pocket PC的上下文菜单实现

    本文介绍了基于 Pocket PC 的“点按”操作概念 论述了 Pocket PC 中上下文菜单的实现原理及方法 并给出了基于 MFC 下的 Windows CE 应用程序实现上下文
    发表于 04-18 10:46 0次下载

    基于上下文相似度的分解推荐算法

    针对移动服务推荐中用户上下文环境复杂多变和数据稀疏性问题,提出一种基于移动用户上下文相似度的张量分解推荐算法-UCS-TF。该算法组合用户间的多维上下文相似度和上下文相似可信度,建立用
    发表于 11-27 17:42 0次下载

    初学OpenGL:什么是绘制上下文

    不少资源的,记得曾经试过chrome的TAB页不断加载WebGL页面,由于WebGL使用的是OpenGL ES,同样需要绘制上下文,当加载三十多个页面的时候,Chrome整个崩溃了。
    发表于 04-28 11:47 2764次阅读

    如何分析Linux CPU上下文切换问题

    我的上一篇文章:《探讨 Linux CPU 的上下文切换》,我谈到了 CPU 上下文切换的工作原理。快速回顾一下,CPU 上下文切换是保
    的头像 发表于 05-05 20:11 2624次阅读

    网络安全上下文感知

    当今,所有网络安全领域都在向上下文感知基础设施转变。应用程序感知、身份感知、内容感知、流程感知、环境感知,都是向上下文感知转变的例子。
    的头像 发表于 09-20 09:27 2868次阅读

    鸿蒙NEXT-鸿蒙老版本迁移最新版本(API19,modelVersion5.1.1)

    、on-package.json5)的modelVersion和SDK版本号,完成后同步即可使用API19。特别提醒:ability
    的头像 发表于 06-30 22:15 801次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>NEXT</b>-<b class='flag-5'>鸿蒙</b>老版本<b class='flag-5'>迁移</b><b class='flag-5'>最新版</b>本(<b class='flag-5'>API19</b>,modelVersion5.1.1)