From 38492bbaa63586e2f4877da0eaa01a082fd565a6 Mon Sep 17 00:00:00 2001 From: 554325746@qq.com <554325746@qq.com> Date: 星期三, 25 十二月 2019 08:42:58 +0800 Subject: [PATCH] a --- app/src/main/java/com/basic/security/utils/PermissionHelper.java | 99 ++++++++++++++++++++++++++----------------------- 1 files changed, 52 insertions(+), 47 deletions(-) diff --git a/app/src/main/java/com/basic/security/utils/PermissionHelper.java b/app/src/main/java/com/basic/security/utils/PermissionHelper.java index a1d0fef..7d94775 100644 --- a/app/src/main/java/com/basic/security/utils/PermissionHelper.java +++ b/app/src/main/java/com/basic/security/utils/PermissionHelper.java @@ -32,57 +32,62 @@ * requires user consent at runtime to access the camera. */ public class PermissionHelper { - public static final int RC_PERMISSION_REQUEST = 9222; - public static boolean hasCameraPermission(Activity activity) { - return ContextCompat.checkSelfPermission(activity, - Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED; - } - public static boolean hasWriteStoragePermission(Activity activity) { - return ContextCompat.checkSelfPermission(activity, - Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED; - } - public static void requestCameraPermission(Activity activity, boolean requestWritePermission) { + public static final int RC_PERMISSION_REQUEST = 9222; - boolean showRationale = ActivityCompat.shouldShowRequestPermissionRationale(activity, - Manifest.permission.CAMERA) || (requestWritePermission && - ActivityCompat.shouldShowRequestPermissionRationale(activity, - Manifest.permission.WRITE_EXTERNAL_STORAGE)); - if (showRationale) { - Toast.makeText(activity, - "Camera permission is needed to run this application", Toast.LENGTH_LONG).show(); - } else { - - // No explanation needed, we can request the permission. - - String permissions[] = requestWritePermission ? new String[]{Manifest.permission.CAMERA, - Manifest.permission.WRITE_EXTERNAL_STORAGE}: new String[]{Manifest.permission.CAMERA}; - ActivityCompat.requestPermissions(activity,permissions,RC_PERMISSION_REQUEST); - } + public static boolean hasCameraPermission(Activity activity) { + return ContextCompat.checkSelfPermission(activity, + Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED; } - public static void requestWriteStoragePermission(Activity activity) { - boolean showRationale = ActivityCompat.shouldShowRequestPermissionRationale(activity, - Manifest.permission.WRITE_EXTERNAL_STORAGE); - if (showRationale) { - Toast.makeText(activity, - "Writing to external storage permission is needed to run this application", - Toast.LENGTH_LONG).show(); - } else { - - // No explanation needed, we can request the permission. - - String permissions[] = new String[]{ Manifest.permission.WRITE_EXTERNAL_STORAGE}; - - ActivityCompat.requestPermissions(activity,permissions,RC_PERMISSION_REQUEST); + public static boolean hasWriteStoragePermission(Activity activity) { + return ContextCompat.checkSelfPermission(activity, + Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED; } - } - /** Launch Application Setting to grant permission. */ - public static void launchPermissionSettings(Activity activity) { - Intent intent = new Intent(); - intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS); - intent.setData(Uri.fromParts("package", activity.getPackageName(), null)); - activity.startActivity(intent); - } + public static void requestCameraPermission(Activity activity, boolean requestWritePermission) { + + boolean showRationale = ActivityCompat.shouldShowRequestPermissionRationale(activity, + Manifest.permission.CAMERA) || (requestWritePermission && + ActivityCompat.shouldShowRequestPermissionRationale(activity, + Manifest.permission.WRITE_EXTERNAL_STORAGE)); + if (showRationale) { + Toast.makeText(activity, + "Camera permission is needed to run this application", Toast.LENGTH_LONG).show(); + } else { + + // No explanation needed, we can request the permission. + + String permissions[] = requestWritePermission ? new String[]{Manifest.permission.CAMERA, + Manifest.permission.WRITE_EXTERNAL_STORAGE} : new String[]{Manifest.permission.CAMERA}; + ActivityCompat.requestPermissions(activity, permissions, RC_PERMISSION_REQUEST); + } + } + + public static void requestWriteStoragePermission(Activity activity) { + boolean showRationale = ActivityCompat.shouldShowRequestPermissionRationale(activity, + Manifest.permission.WRITE_EXTERNAL_STORAGE); + if (showRationale) { + Toast.makeText(activity, + "Writing to external storage permission is needed to run this application", + Toast.LENGTH_LONG).show(); + } else { + + // No explanation needed, we can request the permission. + + String permissions[] = new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}; + + ActivityCompat.requestPermissions(activity, permissions, RC_PERMISSION_REQUEST); + } + } + + /** + * Launch Application Setting to grant permission. + */ + public static void launchPermissionSettings(Activity activity) { + Intent intent = new Intent(); + intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS); + intent.setData(Uri.fromParts("package", activity.getPackageName(), null)); + activity.startActivity(intent); + } } -- Gitblit v1.8.0