鸿蒙NEXT-API19获取上下文,在class中和ability中获取上下文,API迁移示例-解决无法在EntryAbility中无法使用最新版API获取上下文
使用最新API获取UIContext,上下文 鸿蒙发展很快,转眼API16,modelVersion5.1.1就已经到来了。
很多API在18被废弃了,接下来我们看看有哪些
getContext(this)(已经被废弃了) 我们需要使用UIContext获取UIContext实例进而得到上下文。
示例代码:
1.在组件中:
const uiContext = this.getUIContext()?.getHostContext()//得到上下文Context this.getUIContext() //得到UIContext实例 2.在类Class中(或者一些工具类.ets文件中):
const context = AppStorageV2.connect(UIContext, 'uiContext', () => new UIContext())?.getHostContext() 3.在ability中:位置(在EntryAbility下的onWindowStageCreate里面写代码)
windowStage.getMainWindow().then((win) => { const uiContext = win.getUIContext()//得到UIContext实例 const Context=uiContext.getHostContext()//得到上下文 } 注意:使用开发者文档的实例代码
windowStage.getMainWindowSync().getUIContext() 将会报错,报错如下
Error message:This window state is abnormal.
请使用上面作者使用的方法,即可(避免报错无法运行程序)
2.其他API迁移示例
- promptAction.showToast(),API在最新版中已经废弃了,使用下面示例API即可
//旧版API promptAction.showToast({ message: '被触发' }) //迁移最新版API示例 promptAction.openToast({ message: '被触发了' }) 2. router.replaceUrl(),API在最新版中已经废弃了,使用下面示例API即可
//旧版API(已被废弃) router.replaceUrl({ url: 'pages/Index' }) //迁移为最新版API示例 this.getUIContext().getRouter().replaceUrl({ url: 'pages/Index' }) 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' }] }) 4. px2vp的API已经在最新版中被废弃了,迁移为uiContext.px2vp最新API
//旧版API(已经被废弃) px2vp() //新版API迁移示例 this.getUIContext().px2vp()
- 0回答
- 0粉丝
- 0关注
- 鸿蒙NEXT-鸿蒙老版本迁移最新版本(API19,modelVersion5.1.1)
- 最新版 DevEco Studio:鸿蒙5应用开发的得力伙伴
- 鸿蒙NEXT-HMRouter,在使用router后无法跳转问题解决
- Uniapp在鸿蒙中的使用 二
- [HarmonyOS]解决HMRouter路由地址无法抽取的问题
- 鸿蒙开发:基于最新API,如何实现组件化运行
- 鸿蒙应用开发:WebSocket 使用示例
- 使用uts调用鸿蒙原生API
- 鸿蒙开发:使用nestedScroll解决滑动冲突
- # 最新 HUAWEI DevEco Studio 使用技巧
- 最新 HUAWEI DevEco Studio 使用技巧
- 针对“您的应用使用了HarmonyOS beta版本的API”的解决方法##HarmonyOS应用上架##
- 如何在Page中获取WindowStage实例
- 【HarmonyOS】鸿蒙中如何获取用户相册图片?photoAccessHelper.PhotoViewPicker
- Flutter鸿蒙化 在鸿蒙应用中添加Flutter页面