HarmonyOS 鸿蒙Next window.createWindow 报警告 SYSTEM_FLOAT_WINDOW
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
虽然目前项目没有声明该权限,但项目仍然可以正常运行。这是因为在某些情况下,系统可能会默认授予某些权限,尤其是在开发和测试阶段。然而,如果你的应用需要在生产环境中使用浮窗功能,必须明确声明并请求用户授权该权限。
更多关于HarmonyOS 鸿蒙Next window.createWindow 报警告 SYSTEM_FLOAT_WINDOW的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙系统中,遇到Next window.createWindow
方法报警告SYSTEM_FLOAT_WINDOW
的问题,通常是因为尝试创建悬浮窗(Float Window)时权限或配置不正确。
-
权限检查:确保应用已在
manifest.json
中声明了创建悬浮窗的权限,如<ohos:requires-permission ohos:name="ohos.permission.CREATE_FLOATING_WINDOW"/>
。 -
权限请求:在运行时向用户请求创建悬浮窗的权限。鸿蒙系统可能要求动态权限申请,确保在调用
createWindow
之前用户已授权。 -
配置检查:确认应用的配置是否支持创建悬浮窗。某些系统配置或安全策略可能限制悬浮窗的创建。
-
API版本:检查使用的鸿蒙系统API版本是否支持当前尝试创建的悬浮窗类型。某些API可能在新版本中已更改或弃用。
-
错误处理:检查
createWindow
的调用是否正确处理了可能的错误和异常,确保能够捕获并处理SYSTEM_FLOAT_WINDOW
相关的警告或错误。
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html。