在 uniapp x 插件中,找不到该方法了 onAppActivityRequestPermissionsResult ,这个是个很好的权限回调监听,为何要弃用?, 有些第三方sdk,调用方法都是封装好的了, 直接调用就可以了 manager.onRequestPermissionsResult(requestCode,permissions,grantResults); 接收权限处理结果就可以, 像以下代码,
UTSAndroid.onAppActivityRequestPermissionsResult((requestCode: number,
permissions: Array<string>,
grantResults: Array<number>) => {
manager.onRequestPermissionsResult(requestCode,permissions,grantResults);
});
可是现在只有这一个方法可监听权限处理回调,又得重新写一遍权限申请代码,增加了写代码工作量和判断
let permission = ["android.permission.ACCESS_FINE_LOCATION","android.permission.ACCESS_FINE_LOCATION"]
UTSAndroid.requestSystemPermission(UTSAndroid.getUniActivity()!,permission,function(allRight:boolean,grantedList:string[]){
if(allRight){
// 用户同意了全部权限
}else{
// 用户仅同意了 grantedList中的权限
}
},function(doNotAskAgain:boolean,grantedList:string[]){
// 用户拒绝了部分权限,仅允许了grantedList中的权限
if(doNotAskAgain){
// 用户拒绝了权限,并且选择不再询问
}
})
1 个回复
DCloud_Android_DQQ
requestSystemPermission 是 用来替代 onAppActivityRequestPermissionsResult 。
requestSystemPermission 是可以覆盖后者的场景的。
onAppActivityRequestPermissionsResult 只是源码中标记为了过时,文档中不再提及。 现在应该还是可以调用的。 如果只是ide 爆红,不影响编译。你可以忽略继续使用。