?
鴻蒙發展很快,轉眼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遷移示例
1. 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()

審核編輯 黃宇
?
-
API
+關注
關注
2文章
1570瀏覽量
63754 -
鴻蒙
+關注
關注
59文章
2585瀏覽量
43916
發布評論請先 登錄
關于進程上下文、中斷上下文及原子上下文的一些概念理解
進程上下文與中斷上下文的理解
中斷中的上下文切換詳解
HarmonyOS/OpenHarmony(Stage模型)卡片開發應用上下文Context概述
基于多Agent的用戶上下文自適應站點構架
基于交互上下文的預測方法
基于Pocket PC的上下文菜單實現
基于Pocket PC的上下文菜單實現
基于上下文相似度的分解推薦算法
初學OpenGL:什么是繪制上下文
如何分析Linux CPU上下文切換問題
網絡安全中的上下文感知
鴻蒙NEXT-鴻蒙老版本遷移最新版本(API19,modelVersion5.1.1)

評論