HarmonyOS 鸿蒙Next window.createWindow 报警告 SYSTEM_FLOAT_WINDOW

发布于 1周前 作者 phonegap100 最后一次编辑是 5天前 来自 鸿蒙OS
export class WindowUtils {
  static showLoading(context: common.BaseContext, message: ResourceStr = '请稍候') {
    window.createWindow({
      name: 'loading_window',
      windowType: window.WindowType.TYPE_DIALOG,
      ctx: context
    }, async (_, win) => {
      if (win) {
        AppStorage.setOrCreate('loading_message', message)
        await win.loadContentByName("LoadingPage")
        win.setWindowBackgroundColor('#00ffffff')
        let d = display.getDefaultDisplaySync()
        await win.resize(d.width, d.height)
        win.showWindow()
      }
    })
  }

  static async hideLoading() {
    await window.findWindow('loading_window')?.destroyWindow()
  }
}

这是封装的 显示loading与隐藏loading的方法。

其中window.createWindow 报警告 :To use this API, you need to apply for the permissions: ohos.permission.SYSTEM_FLOAT_WINDOW <ArkTSCheck>

目前项目 ,没有声明ohos.permission.SYSTEM_FLOAT_WINDOW权限, 项目运行正常。 如何在项目构建期间, 不出现这个警告。


更多关于HarmonyOS 鸿蒙Next window.createWindow 报警告 SYSTEM_FLOAT_WINDOW的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复
在鸿蒙(HarmonyOS)开发中,window.createWindow报警告提示需要申请ohos.permission.SYSTEM_FLOAT_WINDOW权限。这是因为该权限用于控制应用程序是否可以在系统浮窗中显示内容。
虽然目前项目没有声明该权限,但项目仍然可以正常运行。这是因为在某些情况下,系统可能会默认授予某些权限,尤其是在开发和测试阶段。然而,如果你的应用需要在生产环境中使用浮窗功能,必须明确声明并请求用户授权该权限。

更多关于HarmonyOS 鸿蒙Next window.createWindow 报警告 SYSTEM_FLOAT_WINDOW的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙系统中,遇到Next window.createWindow方法报警告SYSTEM_FLOAT_WINDOW的问题,通常是因为尝试创建悬浮窗(Float Window)时权限或配置不正确。

  1. 权限检查:确保应用已在manifest.json中声明了创建悬浮窗的权限,如<ohos:requires-permission ohos:name="ohos.permission.CREATE_FLOATING_WINDOW"/>

  2. 权限请求:在运行时向用户请求创建悬浮窗的权限。鸿蒙系统可能要求动态权限申请,确保在调用createWindow之前用户已授权。

  3. 配置检查:确认应用的配置是否支持创建悬浮窗。某些系统配置或安全策略可能限制悬浮窗的创建。

  4. API版本:检查使用的鸿蒙系统API版本是否支持当前尝试创建的悬浮窗类型。某些API可能在新版本中已更改或弃用。

  5. 错误处理:检查createWindow的调用是否正确处理了可能的错误和异常,确保能够捕获并处理SYSTEM_FLOAT_WINDOW相关的警告或错误。

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

回到顶部