2

在 android 6 中,我请求使用存储的权限。现在,当用户拒绝我的请求时,我想向他显示一个对话框,解释为什么应用程序需要权限才能获得他的权限。

如何才能做到这一点?

当您使用请求权限方法时,是否有任何内置对话框,例如弹出的对话框?

4

2 回答 2

5

最好在请求权限之前显示自定义对话框,以便用户可以决定是接受还是拒绝权限。

你可以用这个

int hasReadPermission = checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE);

if (hasReadPermission != PackageManager.PERMISSION_GRANTED) {
    //show your custom dialog regarding why you need this permission
}

当用户单击对话框的按钮时,通过使用向他们显示权限对话框

requestPermissions(new String[]{Manifest.permission.READ_EXTERNAL_STORAGE},
        50);
于 2016-02-10T12:32:34.133 回答
1

执行以下操作:

/**
 * Permission check for Marshmallow
 */
public void checkMallowPermissions() {
    if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M &&
            ContextCompat.checkSelfPermission(
                    getApplicationContext(), Manifest.permission.WRITE_EXTERNAL_STORAGE
            ) != PackageManager.PERMISSION_GRANTED) {



        if(!ActivityCompat.shouldShowRequestPermissionRationale(this,
                Manifest.permission.WRITE_EXTERNAL_STORAGE) ||

                checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) !=
                PackageManager.PERMISSION_GRANTED)

            ActivityCompat.requestPermissions(this,
                    new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},
                    PERMISSION_REQUEST_CODE);
    }
    if(checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) !=
                PackageManager.PERMISSION_GRANTED) {
          // Show your dialog
    }
}
于 2016-02-10T12:32:22.280 回答