使用uni.setScreenBrightness(OBJECT)来设置屏幕亮度,在标准基座上运行没有问题,但是打包后运行,无效
有一种回答是选择权限
请确认打包时勾选了Android权限:
<uses-permission android:name="android.permission.WRITE_SETTINGS"/>
但是打包后测试 还是没有解决问题,最后变通了一种办法去解决
其他问题
在页面周期的onShow中设置屏幕亮度uni.setScreenBrightness会造成应用生命周期里的onShow和onHide循环执行,造成应用其他功能无法使用 这个需要增加一个变量去判断 使onshow里的代码只执行一次
先说打包后亮度不生效问题
image.png
image.png
image.png
红色箭头所示为关键代码,使用uni.getScreenBrightness打包后失效 只能改为h5+方法去解决
具体项目根据自己需求来写 不需要截图里这么多代码
如果只是切换到指定页面使屏幕亮度变化,返回恢复正常亮度,只需要再onshow onhide做相应处理即可。
可以多打断点查看输出找到问题所在进行解决。有问题请留言(虽然我也不会看)
网友评论