MPermissions
MPermissions copied to clipboard
同时请求多个权限问题?
如果我同时申请CALL_PHONE和SEND_SMS权限,我CALL_PHONE授权通过,SEND_SMS拒绝通过,在onRequestPermissionsResult(),我想根据授权情况,CALL_PHONE授权通过做一些处理,SEND_SMS授权失败做另外的处理。查看源码发现MPermissions并没有做这种区分,所有权限通过才回调@PermissionGrant修饰的方法,像我上面的那种情况,MPermissions并不支持。
private static void requestResult(Object obj, int requestCode, String[] permissions,
int[] grantResults)
{
List<String> deniedPermissions = new ArrayList<>();
for (int i = 0; i < grantResults.length; i++)
{
if (grantResults[i] != PackageManager.PERMISSION_GRANTED)
{
deniedPermissions.add(permissions[i]);
}
}
if (deniedPermissions.size() > 0)
{
doExecuteFail(obj, requestCode);
} else
{
doExecuteSuccess(obj, requestCode);
}
}
private static void doExecuteSuccess(Object activity, int requestCode)
{
findPermissionProxy(activity).grant(activity, requestCode);
}
恩,并不支持这么细的划分。有时间考虑支持下。