HarmonyOS 鸿蒙Next Window.loadcontentbyname 失败

HarmonyOS 鸿蒙Next Window.loadcontentbyname 失败

按照文档指导使用loadcontentbyname加载内容但是失败了

let context : Context = globalThis.context
window.createWindow({
  name: 'loading_window',
  windowType: window.WindowType.TYPE_DIALOG,
  ctx: context
}).then(async win => {
  MessageHub.tgtWindow = win

  await win.loadContentByName(MainPage.entryName)

  win.setWindowBackgroundColor('#88000000')
  let d = display.getDefaultDisplaySync()
  await win.resize(d.width, d.height)
  await win.setWindowFocusable(true)
  win.showWindow().then(() => {})

使用creatwindow创建新窗口然后加载内容,但是代码在创建窗口后的loadcontentbyname部分报错

[(-1:100000:active)] [com.DefaultCompany.sysAPIPJ][entry][100001]: Initialize: MainPage
[(100001:100001:scope)] RunPage:MainPage
[(100001:100001:scope)] GetAsset failed: manifest.json
[(100001:100001:scope)] Page router manager is creating page[1]: url:
MainPage path: , recoverable: yes, namedRouter: yes
(1321)InitUIContent: Initialized, isUIExtensionSubWindow:0, isUIExtensionAbilityProcess:0
[(100001:100001:scope)] named route MainPage not found!
[(100001:100001:scope)] Update RootComponent Failed or LoadNamedRouter Failed
[(-1:100000:active)] [com.DefaultCompany.sysAPIPJ][entry][100001]: UpdateWindowVisible: 1, hasDecor: 0
[(100001:100001:scope)] failed to create page in LoadPage

加载的页面的代码如下

export const entryName : string = 'MainPage';
@Entry({routeName: entryName, storage : LocalStorage.getShared()})
@Component
export struct Index {
  @State message: string = 'Hello World'
  build() {
    Row() {
      Column() {
        Text(this.message)
          .fontSize(50)
          .fontWeight(FontWeight.Bold)
      }
      .width('100%')
    }
    .height('100%')
  }
}

更多关于HarmonyOS 鸿蒙Next Window.loadcontentbyname 失败的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

window.showWindow()仅支持系统窗口及应用子窗口(TYPE_APP/TYPE_SYSTEM_ALERT)

参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-window-V5#showwindow9-1

更多关于HarmonyOS 鸿蒙Next Window.loadcontentbyname 失败的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


针对帖子标题中提到的HarmonyOS(鸿蒙)系统中Next Window.loadcontentbyname失败的问题,这里提供直接的技术分析:

在鸿蒙系统中,Next Window.loadcontentbyname方法通常用于加载指定名称的内容或界面。若此方法调用失败,可能的原因包括但不限于:

  1. 内容名称错误:检查传入的内容名称是否正确无误,确保与系统中注册或定义的内容名称完全一致。

  2. 资源未正确加载:确认所需加载的内容资源(如页面、布局文件等)是否已正确打包并部署在系统中,且路径无误。

  3. 权限问题:检查当前应用或组件是否具有加载指定内容的必要权限。在某些情况下,权限不足可能导致加载失败。

  4. 系统状态异常:系统内部状态异常或资源限制也可能导致加载失败。例如,内存不足、系统服务异常等。

  5. API调用时机不当:确保loadcontentbyname的调用时机合适,避免在系统尚未完全启动或资源尚未准备好的情况下进行调用。

若以上检查均无误但问题依旧存在,可能是系统层面的bug或特定环境下的兼容性问题。此时,建议联系鸿蒙系统的官方技术支持或访问官方论坛寻求帮助。

如果问题依旧没法解决请联系官网客服,官网地址是 https://www.itying.com/category-93-b0.html

回到顶部