uni-app uni.setKeepScreenOn屏幕常亮安卓APP中不管用不起作用
uni-app uni.setKeepScreenOn屏幕常亮安卓APP中不管用不起作用
示例代码:
// 保持屏幕常亮
uni.setKeepScreenOn({
keepScreenOn: true,
success: function (res) {
console.log(res);
},
fail: function (err) {
console.log(err);
}
});
操作步骤:
安卓pad
预期结果:
不息屏
实际结果:
息屏
bug描述:
uni.setKeepScreenOn设置成功了,success回调也走了,但是pad还是会自动息屏。
| 信息类别 | 信息内容 |
|----------------|----------------------|
| 产品分类 | uniapp/App |
| PC开发环境 | Windows |
| PC系统版本号 | Windows11 |
| HBuilderX类型 | 正式 |
| HBuilderX版本 | 4.76 |
| 手机系统 | Android |
| 手机系统版本号 | Android 15 |
| 手机厂商 | 小米 |
| 手机机型 | 小米pad7 |
| 页面类型 | vue |
| vue版本 | vue3 |
| 打包方式 | 云端 |
| 项目创建方式 | HBuilderX |
更多关于uni-app uni.setKeepScreenOn屏幕常亮安卓APP中不管用不起作用的实战教程也可以访问 https://www.itying.com/category-93-b0.html
解决了,安卓需要添加权限配置 <uses-permission android:name="android.permission.WAKE_LOCK" />
然后重新打基座,文档上没说有点坑
更多关于uni-app uni.setKeepScreenOn屏幕常亮安卓APP中不管用不起作用的实战教程也可以访问 https://www.itying.com/category-93-b0.html
解决了,安卓需要添加权限配置 <uses-permission android:name="android.permission.WAKE_LOCK" />
然后重新打基座,文档上没说有点坑
大佬如果是鸿蒙app呢 知道怎么搞吗
根据您提供的信息,这个问题通常与Android系统的电源管理策略有关。以下是几个可能的原因和解决方案:
-
系统级限制:某些Android厂商(特别是小米)会在系统层面限制应用保持屏幕常亮的能力。建议检查系统设置中的“电池优化”选项,将您的应用添加到白名单中。
-
生命周期问题:确保
uni.setKeepScreenOn在页面显示时调用,而不是在页面隐藏或应用进入后台时调用。建议在onShow生命周期中执行此操作。 -
权限问题:虽然uni-app没有明确要求特殊权限,但某些Android版本可能需要
WAKE_LOCK权限。可以在manifest.json中配置:
"app-plus": {
"permissions": [
"android.permission.WAKE_LOCK"
]
}
-
硬件限制:部分设备在电量过低时会强制忽略屏幕常亮设置。
-
代码执行时机:建议在页面加载完成后立即调用,可以尝试在
onReady或onShow中执行:
onShow() {
uni.setKeepScreenOn({
keepScreenOn: true
})
}

