408690579@qq.com
408690579@qq.com
  • 发布:2020-07-03 11:01
  • 更新:2020-07-06 21:50
  • 阅读:132

【报Bug】在页面周期的onShow中设置屏幕亮度uni.setScreenBrightness会造成应用生命周期里的onShow和onHide循环执行,造成应用其他功能无法使用

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: win10

HBuilderX类型: 正式

HBuilderX版本号: 2.7.14

手机系统: Android

手机系统版本号: Android 9.0

手机厂商: 华为

手机机型: 华为 Mate9

页面类型: vue

nvue编译模式: fast

打包方式: 云端

项目创建方式: HBuilderX

示例代码:
<template>  
    <view>  
        <view class="bottom-btn" @click="push">  
            <view class="btn-base btn-agreen"><text>同意此协议</text></view>  
        </view>  
    </view>  
</template>  

<script>  
    export default {  
        data() {  
            return {  
                screenBrightness:0  
            }  
        },  
        onShow() {  
            uni.getScreenBrightness({  
                success: (res) => {  
                    this.screenBrightness = res.value  
                }  
            })  
            uni.setScreenBrightness({  
                value:1  
            })  
        },  
        onHide() {  
            uni.setScreenBrightness({  
                value:0.1  
            })  
        },  
        methods: {  
            push(){  
                uni.navigateTo({  
                    url:'/pages/Index/Index'  
                })  
            }  
        }  
    }  
</script>

操作步骤:
真机运行执行程序后,会循环执行应用生命周期里onShow和onHide

预期结果:
真机运行执行程序后,应用生命周期里onShow和onHide不要循环执行

实际结果:
真机运行执行程序后,会循环执行应用生命周期里onShow和onHide

bug描述:

在页面周期的onShow中设置屏幕亮度uni.setScreenBrightness会造成应用生命周期里的onShow和onHide循环执行,造成应用其他功能无法使用
2020-07-03 11:01 负责人:无 分享
已邀请:

最佳回复

DCloud_UNI_家兴

DCloud_UNI_家兴

暂时不支持在onShow中调用与权限有关操作的API,在onshow里使用需要权限的API(比如setScreenBrightness()等需要手机权限), 会造成死循环。

  • 408690579@qq.com (作者)

    可是在页面的onLoad方法中uni.setScreenBrightness,页面的onShow方法也会走两次,这些问题都是Android手机真机调试会出现的问题,ios并没有出现这个问题

    2020-07-07 10:17

DCloud_UNI_家兴

DCloud_UNI_家兴

感谢反馈,我们验证一下

  • 408690579@qq.com (作者)

    请问这个问题你们那边验证了吗?是bug吗

    2020-07-03 18:15

  • 408690579@qq.com (作者)

    并且在页面的onLoad方法中uni.setScreenBrightness,页面的onShow方法会走两次,这些问题都是Android手机真机调试会出现的问题,ios没有,麻烦尽快解决这个bug,这个bug从我去年11月份用uniapp就一直存在

    2020-07-06 15:10

要回复问题请先登录注册