在 android 6 中,我请求使用存储的权限。现在,当用户拒绝我的请求时,我想向他显示一个对话框,解释为什么应用程序需要权限才能获得他的权限。
如何才能做到这一点?
当您使用请求权限方法时,是否有任何内置对话框,例如弹出的对话框?
在 android 6 中,我请求使用存储的权限。现在,当用户拒绝我的请求时,我想向他显示一个对话框,解释为什么应用程序需要权限才能获得他的权限。
如何才能做到这一点?
当您使用请求权限方法时,是否有任何内置对话框,例如弹出的对话框?
最好在请求权限之前显示自定义对话框,以便用户可以决定是接受还是拒绝权限。
你可以用这个
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);
执行以下操作:
/**
* 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
}
}