MPermissions icon indicating copy to clipboard operation
MPermissions copied to clipboard

同时请求多个权限问题?

Open hacket opened this issue 9 years ago • 1 comments

如果我同时申请CALL_PHONESEND_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);

    }

hacket avatar Sep 07 '16 10:09 hacket

恩,并不支持这么细的划分。有时间考虑支持下。

hongyangAndroid avatar Sep 07 '16 11:09 hongyangAndroid