5***@qq.com
5***@qq.com
  • 发布:2024-01-28 11:32
  • 更新:2024-01-29 19:23
  • 阅读:200

plus.android.requestPermissions在放置于onshow周期中,当返回为-1时会反复申请权限

分类:uni-app

checkOpenGPSServiceByAndroid: function (callback) {
var app = this;
var result = 0;
let system = uni.getSystemInfoSync(); // 获取系统信息
if (app.globalData.isPermissionRequested) {
// 已经申请过权限,不再重复申请
return;
}
if (system.platform == 'android') {
// 判断平台
plus.android.requestPermissions(
['android.permission.ACCESS_FINE_LOCATION'],
function (resultObj) {
console.log('resultObj---', resultObj);

                    if (resultObj.granted.length > 0) {  
                        //已获取的权限  
                        uni.setStorageSync('openGPS', 4); //4 成功 3拒绝本次  2 永久拒绝  
                        result = 1;  
                    } else if (resultObj.deniedPresent.length > 0) {  
                        //拒绝本次申请的权限  
                        uni.setStorageSync('openGPS', 3);  
                        result = 0;  
                    } else if (resultObj.deniedAlways.length > 0) {  
                        //永久拒绝申请的权限  
                        uni.setStorageSync('openGPS', 2);  
                        result = -1;  
                    }  

                    app.globalData.isPermissionRequested = true;  
                    typeof callback == 'function' && callback(result);  
                },  
                function (error) {  
                    app.globalData.isPermissionRequested = true;  
                    console.log('申请权限错误:' + error.code + ' = ' + error.message);  
                    resolve({  
                        code: error.code,  
                        message: error.message  
                    });  
                    typeof callback == 'function' && callback(result);  
                }  
            );  
        } else {  
            typeof callback == 'function' && callback(result);  
        }  
    },
2024-01-28 11:32 负责人:无 分享
已邀请:
喜欢技术的前端

喜欢技术的前端 - QQ---445849201

权限申请 拒绝之后,如果再次申请还会弹出一次,第二次拒绝,就不会询问了,你也可以放到onLoad中

  • 5***@qq.com (作者)

    我在真机上调试。如果永久拒绝,把方法放在tabbar页面里面的onshow 方法里,方法一直循环执行方法

    2024-01-29 09:31

piaoyi_UI

piaoyi_UI - 【插件开发】【专治疑难杂症】【多款插件已上架:https://ext.dcloud.net.cn/publisher?id=193663(微信搜索飘逸科技UI小程序直接体验)】【骗子请绕道】问题咨询请加QQ群:120594820,代表作灵感实用工具小程序

一两年前遇到过,没想到还是有这个问题

DCloud_Android_ST

DCloud_Android_ST

申请权限会触发应用onShow生命周期。所以应禁止在onShow触发权限申请。

要回复问题请先登录注册