牛儿哒哒
牛儿哒哒
  • 发布:2020-04-17 17:08
  • 更新:2021-03-10 14:53
  • 阅读:787

【报Bug】屏幕亮度设置bug

分类:uni-app

详细问题描述

;:
进入到一个二维码页面A,需要将页面亮度调到最亮(具体功能如:打开微信的支付二维码功能);
A页面的 onLoad 事件里面:
1、获取了当前用户系统的屏幕亮度;
2、设置了当前用户系统的屏幕亮度为1,最亮;

A页面的 onHide事件 和 onUnload事件里面分别设置屏幕亮度到最初进入时候的亮度;
在不退出当前的应用前提下,回退到上一个页面,或者进入到别的页面,屏幕亮度都可以重新设置到用户之前的亮度;

☆☆☆ 当用户在A页面,亮度被点亮的前提下,按 Home 键,
onHide 被激发,执行了屏幕亮度设置的方法,但是这个屏幕的亮度并没有马上生效;系统过了几秒会调用应用的onShow方法,拉起应用回到二维码页面,同时屏幕亮度变成了最初进入A页面的亮度。

问题1:uni.setScreenBrightness() 这个方法会 触发 onHide 和 onShow;
问题2:用户home键后,应用会再次被拉起,并进入按home键时候的页面;
问题3:屏幕点亮后,按下home键后,如何才能设置屏幕亮度到最初进入的亮度。(类似 支付宝和微信的 付款二维码页面那种效果)。

使用机型:Redmi Note5
系统版本:MIUI 10.2 | 稳定版

2020-04-17 17:08 负责人:无 分享
已邀请:
Alang

Alang

解决了吗

  • 牛儿哒哒 (作者)

    没有解决,并且还有个问题,我描述漏了,就是在应用里面只要使用了点亮的这个接口,然后通过手机设置亮度,应用的亮度不会发生任何该表,需要重新关闭应用再次进入后,才会和系统的亮度保持一致。

    2020-04-20 09:29

o***@gmail.com

o***@gmail.com

我也遇到了。 这么久了,有人解决了吗。。。

o***@gmail.com

o***@gmail.com

我变通解决了。办法如下:

1、调亮放在onShow里,调暗放在onhide和onunload里;
2、在data里加个标志位默认打开,在onshow里判断标志位,决定是否执行调亮处理。(调亮回调里关掉标志位)
3、从其他页面返回到此页面时,在返回前设置此页面的标志位为打开。

标志位的判断就是为了防止产生循环。

出问题是的逻辑是: 调亮度会触发onshow,onshow里的又调亮度,又出发onshow,就循环起来了。

标志位的作用是防止产生这个循环。

安灬

安灬 - 前端小菜鸟0.0

请问你修改亮度会出现是否允许修改系统设置这个操作?

Alang

Alang

下拉的时候 背景有黑色怎瞒

该问题目前已经被锁定, 无法添加新回复