获取UIContext报错1300002如何解决

获取UIContext报错1300002如何解决

HarmonyOS
2024-01-30 17:03:35
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
harry_hbz

loadcontent和getMainWindow两个接口是异步接口,getUIContext是同步接口,loadcontent和getMainWindow会同时执行但是回调时序不保证,就会有先getMainWindow拿到结果,但此时content没有完成加载的情况。因此最好是在Loadcontent的回调中调用接口来保证时序。

可参考如下示例:

import window from '@ohos.window'; 
import hilog from '@ohos.hilog'; 
import UIAbility from '@ohos.app.ability.UIAbility'; 
import { BusinessError } from '@ohos.base'; 
 
export default class EntryAbility extends UIAbility { 
  onWindowStageCreate(windowStage: window.WindowStage) { 
    hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageCreate'); 
    windowStage.loadContent('pages/Index', (err, data) => { 
      if (err.code) { 
        hilog.error(0x0000, 'testTag', 'Failed to load the content. Cause: %{public}s', JSON.stringify(err) ?? ''); 
        return; 
      } 
      windowStage.getMainWindow((err: BusinessError, data) => { 
        let errCode: number = err.code; 
        if (errCode) { 
          console.error('Failed to obtain the main window.Cause:' + JSON.stringify(err)) 
        } 
        let uiContext = data.getUIContext(); 
        console.log(JSON.stringify(uiContext)) 
      }) 
      hilog.info(0x0000, 'testTag', 'Succeeded in loading the content. Data: %{public}s', JSON.stringify(data) ?? ''); 
    }); 
  } 
};
分享
微博
QQ
微信
回复
2024-01-31 22:38:31
相关问题
http请求报错2300006如何解决
2312浏览 • 1回复 待解决
HarmonyOS 真机运行报错如何解决
217浏览 • 1回复 待解决
真机联调报错如何解决
249浏览 • 1回复 待解决
修改包名后报错,请问如何解决?
5942浏览 • 1回复 待解决
win11下安装hpm报错如何解决
5957浏览 • 2回复 待解决
this传递问题,该如何解决
1964浏览 • 1回复 待解决
HarmonyOS toast问题如何解决
356浏览 • 1回复 待解决
Gauge组件问题,该如何解决
85浏览 • 1回复 待解决
如何解决webview离线加载白屏问题
998浏览 • 1回复 待解决
如何解决预览流黑屏的问题
839浏览 • 1回复 待解决
IDE构建项目失败,该如何解决
545浏览 • 1回复 待解决
har多目标,多值问题如何解决
215浏览 • 1回复 待解决
HarmonyOS路由问题该如何解决
177浏览 • 1回复 待解决
HarmonyOS如何解决数据存储问题?
8860浏览 • 3回复 已解决
如何解决webview loaddata白屏问题
965浏览 • 1回复 待解决
事件分发冲突问题,如何解决
186浏览 • 1回复 待解决
提问
该提问已有0人参与 ,帮助了0人