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()