7***@qq.com
7***@qq.com
  • 发布:2020-05-22 11:30
  • 更新:2024-03-01 16:39
  • 阅读:1613

请问下plus.android.requestPermissions回调函数没有触发可能是什么问题?

分类:Native.js

function requestAndroidPermission(permissionID) {
return new Promise((resolve, reject) => {
plus.android.requestPermissions(
[permissionID], // 理论上支持多个权限同时查询,但实际上本函数封装只处理了一个权限的情况。有需要的可自行扩展封装
function(resultObj) {
var result = 0;
for (var i = 0; i < resultObj.granted.length; i++) {
var grantedPermission = resultObj.granted[i];
console.log('已获取的权限:' + grantedPermission);
result = 1
}
for (var i = 0; i < resultObj.deniedPresent.length; i++) {
var deniedPresentPermission = resultObj.deniedPresent[i];
console.log('拒绝本次申请的权限:' + deniedPresentPermission);
result = 0
}
for (var i = 0; i < resultObj.deniedAlways.length; i++) {
var deniedAlwaysPermission = resultObj.deniedAlways[i];
console.log('永久拒绝申请的权限:' + deniedAlwaysPermission);
result = -1
}
resolve(result);
// 若所需权限被拒绝,则打开APP设置界面,可以在APP设置界面打开相应权限
if (result != 1) {
gotoAppPermissionSetting()
}
},
function(error) {
console.log('申请权限错误:' + error.code + " = " + error.message);
resolve({
code: error.code,
message: error.message
});
}
);
});
}

2020-05-22 11:30 负责人:无 分享
已邀请:
1***@qq.com

1***@qq.com

同样的问题,app内部操作权限弹窗plus.android.requestPermissions可以正常进入回调,但是在系统应用管理里面修改权限状态plus.android.requestPermissions回调都进不去

  • Web默默

    拒绝权限两次之后,我也遇到无论成功还是失败的回调函数都无法触发的问题,重启APP也不行,只有卸载重装后才能再次触发。现在想到的解决办法是,拒绝之后就写入缓存记录下,下次判断这个缓存的值是否大于等于1,就引导用户手动去开权限、


    2022-10-28 10:25

2***@qq.com

2***@qq.com

// Android权限查询
function requestAndroidPermission(permissionID) {
let permissionIDList = permissionID.split(',')
return new Promise((resolve, reject) => {
plus.android.requestPermissions(
permissionIDList, // 理论上支持多个权限同时查询,但实际上本函数封装只处理了一个权限的情况。有需要的可自行扩展封装
function(resultObj) {
var result = 0;
for (var i = 0; i < resultObj.granted.length; i++) {
var grantedPermission = resultObj.granted[i];
console.log('已获取的权限:' + grantedPermission);
result = 1
}...好像可以

要回复问题请先登录注册