/** * Returns true if the Activity has access to given permissions. */ public static boolean hasPermission(Activity activity, String permission) { return activity.checkSelfPermission(permission) == PackageManager.PERMISSION_GRANTED; }
/** * Returns true if the Activity has access to a all given permission. */ public static boolean hasPermission(Activity activity, String[] permissions) { for (String permission : permissions) { if (activity.checkSelfPermission(permission) != PackageManager.PERMISSION_GRANTED) { return false; } } return true; }
/** * Returns true if the Activity has access to a all given permission. */ public static boolean hasPermission(Activity activity, String[] permissions) { for (String permission : permissions) { if (activity.checkSelfPermission(permission) != PackageManager.PERMISSION_GRANTED) { return false; } } return true; }
/** * Returns true if the Activity has access to given permissions. */ public static boolean hasPermission(Activity activity, String permission) { return activity.checkSelfPermission(permission) == PackageManager.PERMISSION_GRANTED; }
@TargetApi(Build.VERSION_CODES.M) private boolean addPermission(List<String> permissionsList, String permission) { boolean ret = true; if (mActivity.checkSelfPermission(permission) != PackageManager.PERMISSION_GRANTED) { permissionsList.add(permission); ret = false; } return ret; }
/** * Checks whether it's necessary to request the {@link permission#READ_EXTERNAL_STORAGE} * permission read the specified {@link Uri}s, requesting the permission if necessary. * * @param activity The host activity for checking and requesting the permission. * @param uris {@link Uri}s that may require {@link permission#READ_EXTERNAL_STORAGE} to read. * @return Whether a permission request was made. */ @TargetApi(23) public static boolean maybeRequestReadExternalStoragePermission(Activity activity, Uri... uris) { if (Util.SDK_INT < 23) { return false; } for (Uri uri : uris) { if (Util.isLocalFileUri(uri)) { if (activity.checkSelfPermission(permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) { activity.requestPermissions(new String[] {permission.READ_EXTERNAL_STORAGE}, 0); return true; } break; } } return false; }
@TargetApi(Build.VERSION_CODES.M) private boolean addPermission(List<String> permissionsList, String permission) { boolean ret = true; if (mActivity.checkSelfPermission(permission) != PackageManager.PERMISSION_GRANTED) { permissionsList.add(permission); ret = false; } return ret; }
@TargetApi(value = Build.VERSION_CODES.M) public static List<String> findDeniedPermissions(Activity activity, String... permission){ List<String> denyPermissions = new ArrayList<>(); for(String value : permission){ if(activity.checkSelfPermission(value) != PackageManager.PERMISSION_GRANTED){ denyPermissions.add(value); } } return denyPermissions; }
public static boolean hasPermissions(Activity activity) { return (activity.checkSelfPermission(WRITE_EXTERNAL_STORAGE_PERMISSION) == PackageManager.PERMISSION_GRANTED) && (activity.checkSelfPermission(RECORD_AUDIO_PERMISSION) == PackageManager.PERMISSION_GRANTED); }
/** * Returns true if the Activity has access to given permissions. */ @TargetApi(23) public static boolean hasPermission(Activity activity, String permission) { return activity.checkSelfPermission(permission) == PackageManager.PERMISSION_GRANTED; }
/** * Returns true if the Activity has access to a all given permission. */ @TargetApi(23) public static boolean hasPermission(Activity activity, String[] permissions) { for (String permission : permissions) { if (activity.checkSelfPermission(permission) != PackageManager.PERMISSION_GRANTED) { return false; } } return true; }
@TargetApi(Build.VERSION_CODES.M) public static boolean checkPermission(Activity activity, int requestCode) { String permission = requestPermissions[requestCode]; int result = activity.checkSelfPermission(permission); if (result == PackageManager.PERMISSION_GRANTED) { return true; } return false; }
@TargetApi(Build.VERSION_CODES.M) private boolean addPermission(List<String> permissionsList, String permission) { boolean ret = true; if (mActivity.checkSelfPermission(permission) != PackageManager.PERMISSION_GRANTED) { permissionsList.add(permission); ret = false; } return ret; }
void check() { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { if (activity.checkSelfPermission(Manifest.permission.ACCESS_COARSE_LOCATION) == PackageManager.PERMISSION_GRANTED || activity.checkSelfPermission(Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED) { return; } if (activity.isFinishing()) { return; } activity.requestPermissions(new String[]{Manifest.permission.ACCESS_COARSE_LOCATION}, REQUEST_CODE); } }
@TargetApi(value = Build.VERSION_CODES.M) public static List<String> findDeniedPermissions(Activity activity, String... permission) { List<String> denyPermissions = new ArrayList<>(); for (String value : permission) { if (activity.checkSelfPermission(value) != PackageManager.PERMISSION_GRANTED) { denyPermissions.add(value); } } return denyPermissions; }
@Override public boolean hasSelfPermission(String permission) { if (!CommonUtils.isMarshmallowOrHigher()) { return true; } return activity.checkSelfPermission(permission) == PackageManager.PERMISSION_GRANTED; }
@RequiresApi(api = Build.VERSION_CODES.M) private static boolean addPermission(List<String> permissionsList, String permission, Activity ac) { if (ac.checkSelfPermission(permission) != PackageManager.PERMISSION_GRANTED) { permissionsList.add(permission); // Check for Rationale Option return ac.shouldShowRequestPermissionRationale(permission); } return true; }
@Test public void testCheckWithFineLocationGranted() { // setup when(activity.checkSelfPermission(Manifest.permission.ACCESS_COARSE_LOCATION)).thenReturn(PackageManager.PERMISSION_DENIED); when(activity.checkSelfPermission(Manifest.permission.ACCESS_FINE_LOCATION)).thenReturn(PackageManager.PERMISSION_GRANTED); // execute fixture.check(); // validate verify(activity).checkSelfPermission(Manifest.permission.ACCESS_COARSE_LOCATION); verify(activity).checkSelfPermission(Manifest.permission.ACCESS_FINE_LOCATION); verify(activity, never()).isFinishing(); verify(activity, never()).requestPermissions(new String[]{Manifest.permission.ACCESS_COARSE_LOCATION}, PermissionChecker.REQUEST_CODE); }
@Test public void testCheckWithCoarseLocationGranted() { // setup when(activity.checkSelfPermission(Manifest.permission.ACCESS_COARSE_LOCATION)).thenReturn(PackageManager.PERMISSION_GRANTED); // execute fixture.check(); // validate verify(activity).checkSelfPermission(Manifest.permission.ACCESS_COARSE_LOCATION); verify(activity, never()).checkSelfPermission(Manifest.permission.ACCESS_FINE_LOCATION); verify(activity, never()).isFinishing(); verify(activity, never()).requestPermissions(new String[]{Manifest.permission.ACCESS_COARSE_LOCATION}, PermissionChecker.REQUEST_CODE); }
static void performCall(Activity activity, String number) { if (AndroidVersion.isAtLeastMarshmallow) { if (activity.checkSelfPermission(Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) { activity.requestPermissions(new String[]{Manifest.permission.CALL_PHONE} , PermissionUtils.CALL_REQUEST_CODE); } else { call(activity, number); } } else { call(activity, number); } }