uni-app uni.setScreenBrightness 设置后 手机亮度不可调节 整体变暗
uni-app uni.setScreenBrightness 设置后 手机亮度不可调节 整体变暗
信息类别 | 详情 |
---|---|
产品分类 | uniapp/App |
PC开发环境 | Windows |
PC系统版本 | Windows 11 家庭中文版 |
开发工具 | HBuilderX |
工具版本 | 3.99 |
手机系统 | Android |
手机版本 | Android 10 |
手机厂商 | OPPO |
手机型号 | oppoR17 |
页面类型 | vue |
vue版本 | vue2 |
打包方式 | 云端 |
项目创建方式 | HBuilderX |
示例代码:
openPop(val, lotno) {
// #ifdef APP-PLUS
let that = this;
uni.getScreenBrightness({
success(res) {
that.brightValue = res.value;
}
})
// #endif
this.show = true;
this.val = val;
this.lotno = lotno;
setTimeout(() => {
// #ifdef APP-PLUS
let value = 0.8;
if (this.brightValue >= 0.8) {
value = this.brightValue;
}
uni.setScreenBrightness({
value: value,
success() {
}
})
uni.setKeepScreenOn({
keepScreenOn: false,
success() {
console.log('已取消屏幕亮度锁定');
}
});
// #endif
this.qrshow = true;
}, 100)
},
closePop() {
// #ifdef APP-PLUS
uni.setScreenBrightness({
value: this.brightValue,
success() {
}
})
uni.setKeepScreenOn({
keepScreenOn: false,
success() {
console.log('已取消屏幕亮度锁定');
}
});
// #endif
this.qrshow = false;
setTimeout(() => {
this.show = false;
}, 100)
},
操作步骤:
打开弹窗 获取亮度并缓存 set亮度为0.8 关闭弹窗 set亮度为获取值
预期结果:
回复到之前的亮度
实际结果:
整体亮度 变暗 且 手机不可调节
bug描述:
打开弹窗 获取亮度 并且 调节亮度 为0.8 关闭弹窗 设置亮度为 获取值 情况:关闭后手机不可调节亮度
更多关于uni-app uni.setScreenBrightness 设置后 手机亮度不可调节 整体变暗的实战教程也可以访问 https://www.itying.com/category-93-b0.html
这个文档官方有个回答 https://ask.dcloud.net.cn/question/132234
更多关于uni-app uni.setScreenBrightness 设置后 手机亮度不可调节 整体变暗的实战教程也可以访问 https://www.itying.com/category-93-b0.html
在使用 uni.setScreenBrightness
设置屏幕亮度后,如果出现手机亮度不可调节或整体变暗的情况,可能是由于以下原因导致的:
1. uni.setScreenBrightness
设置的值过低
uni.setScreenBrightness
的参数 value
是一个介于 0
到 1
之间的值,表示屏幕亮度的百分比。如果你设置的 value
值过低(例如 0.1
或更低),可能会导致屏幕变得非常暗,甚至看起来像是不可调节。
解决方法:
确保你设置的亮度值在合理范围内,例如 0.5
或更高,看看是否恢复正常。
uni.setScreenBrightness({
value: 0.5, // 设置亮度为50%
success: function () {
console.log('屏幕亮度设置成功');
},
fail: function (err) {
console.log('屏幕亮度设置失败', err);
}
});
2. 系统亮度调节被锁定
在某些情况下,调用 uni.setScreenBrightness
后,系统可能会锁定亮度调节功能,导致用户无法手动调节亮度。
解决方法:
你可以在设置亮度后,手动调用 uni.setKeepScreenOn
来解除屏幕锁定状态。
uni.setKeepScreenOn({
keepScreenOn: false // 解除屏幕常亮状态
});
3. 系统或设备问题
在某些设备或系统版本上,可能会出现兼容性问题,导致 uni.setScreenBrightness
设置后亮度调节失效。
解决方法: 尝试在不同的设备或系统版本上测试,或者检查是否有系统更新可以解决该问题。
4. 代码逻辑问题
检查你的代码逻辑,确保在设置亮度后没有其他操作影响到亮度的调节。
5. 使用 uni.getScreenBrightness
检查当前亮度
你可以使用 uni.getScreenBrightness
来获取当前屏幕亮度的值,确保设置的值符合预期。
uni.getScreenBrightness({
success: function (res) {
console.log('当前屏幕亮度:', res.value);
},
fail: function (err) {
console.log('获取屏幕亮度失败', err);
}
});
6. 恢复默认亮度
如果以上方法都无法解决问题,你可以尝试将亮度恢复到默认值,看看是否恢复正常。
uni.setScreenBrightness({
value: 0.5, // 恢复默认亮度
success: function () {
console.log('屏幕亮度恢复成功');
},
fail: function (err) {
console.log('屏幕亮度恢复失败', err);
}
});