Android 按需权限请求
Android on demand permission request
如何处理 不要再问我 在 android 按需权限请求。如果用户选择 不要再问我 并且稍后如果他想访问任何最佳实践建议,他们是否有任何最佳实践?谢谢。
shouldShowRequestPermissionRationale
会帮你解决这个问题。
shouldShowRequestPermissionRationale()
将用于检查用户是否选择了不再询问。它会 return 值为 True 或 False,如果用户选择 Never ask before 它会 return false,否则会 return true。
boolean shouldShow = shouldShowRequestPermissionRationale(Manifest.permission.READ_EXTERNAL_STORAGE);
if (!shouldShow) {
// show some dialog which will give information about required permission, so that user can understand what is need of that permission.
}
单击对话框的按钮,您可以将用户重定向到应用程序的设置屏幕。
Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS,Uri.fromParts("package", getPackageName(), null));
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
如果您正在为 pre-marshmallow 工作,则需要使用 ActivityCompat.shouldShowRequestPermissionRationale()
如何处理 不要再问我 在 android 按需权限请求。如果用户选择 不要再问我 并且稍后如果他想访问任何最佳实践建议,他们是否有任何最佳实践?谢谢。
shouldShowRequestPermissionRationale
会帮你解决这个问题。
shouldShowRequestPermissionRationale()
将用于检查用户是否选择了不再询问。它会 return 值为 True 或 False,如果用户选择 Never ask before 它会 return false,否则会 return true。
boolean shouldShow = shouldShowRequestPermissionRationale(Manifest.permission.READ_EXTERNAL_STORAGE);
if (!shouldShow) {
// show some dialog which will give information about required permission, so that user can understand what is need of that permission.
}
单击对话框的按钮,您可以将用户重定向到应用程序的设置屏幕。
Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS,Uri.fromParts("package", getPackageName(), null));
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
如果您正在为 pre-marshmallow 工作,则需要使用 ActivityCompat.shouldShowRequestPermissionRationale()