PackageManager pm = context.getPackageManager(); int hasPerm = pm.checkPermission( android.Manifest.permission.WRITE_EXTERNAL_STORAGE, context.getPackageName()); if (hasPerm != PackageManager.PERMISSION_GRANTED) { // do stuff }
PackageManager pm = getPackageManager(); if (pm.checkPermission(permission.FINE_LOCATION, getPackageName()) == PackageManager.PERMISSION_GRANTED) { // do something } else { // do something }
@Override public int checkPermission(String permName, String pkgName) { return mBase.checkPermission(permName, pkgName); }
private boolean hasManageUsersPermission() { return context.getPackageManager().checkPermission(permission.MANAGE_USERS, context.getPackageName()) == PackageManager.PERMISSION_GRANTED; }
/** * Method to verify that vibrate permission has been granted. * * Allows users of the library to disabled vibrate support if desired. * @return true if Vibrate permission has been granted */ private boolean hasVibratePermission(Context context) { PackageManager pm = context.getPackageManager(); int hasPerm = pm.checkPermission(android.Manifest.permission.VIBRATE, context.getPackageName()); return hasPerm == PackageManager.PERMISSION_GRANTED; }
/**检查是否有权限 * @param context * @param name * @return */ public static boolean isHavePermission(Context context, String name){ try { return PackageManager.PERMISSION_GRANTED == context.getPackageManager().checkPermission(name, context.getPackageName()); } catch (Exception e) { // TODO: handle exception } return false; }
/**检查是否有权限 * @param context * @param name * @return */ public static boolean isHavePermission(Context context, String name){ try { return PackageManager.PERMISSION_GRANTED == context.getPackageManager().checkPermission(name, context.getPackageName()); } catch (Exception e) { // TODO: handle exception } return false; }
/** * @param permission Manifest.permission to check whether it has been granted. * @return true if the permission has been granted to the app, false if it hasn't been granted or the PackageManager could not be contacted. */ public boolean hasPermission(@NonNull String permission) { final PackageManager pm = context.getPackageManager(); if (pm == null) { return false; } try { return pm.checkPermission(permission, context.getPackageName()) == PackageManager.PERMISSION_GRANTED; } catch (Exception e) { // To catch RuntimeException("Package manager has died") that can occur on some version of Android, // when the remote PackageManager is unavailable. I suspect this sometimes occurs when the App is being reinstalled. return false; } }
private static boolean hasSAW(Context ctxt, String pkg) { SharedPreferences prefs= PreferenceManager.getDefaultSharedPreferences(ctxt); Set<String> whitelist= prefs.getStringSet(WhitelistReceiver.PREF_WHITELIST, new HashSet<String>()); if (whitelist.contains(pkg)) { return false; } PackageManager pm=ctxt.getPackageManager(); return(pm.checkPermission(SYSTEM_ALERT_WINDOW, pkg)== PackageManager.PERMISSION_GRANTED); }
private static boolean hasPermission(Context context, String permission, int repeatCount) { try { return PackageManager.PERMISSION_GRANTED == context.getPackageManager() .checkPermission(permission, context.getPackageName()); } catch (Exception e) { CAT.e(e); // crash https://gist.github.com/vRallev/6affe17c93e993681bfd // give it another chance with the application context return repeatCount < 1 && hasPermission(context.getApplicationContext(), permission, repeatCount + 1); } } }
@SuppressLint("NewApi") public static boolean checkPermission(Context context, String permission) { boolean result = false; if (Build.VERSION.SDK_INT >= 23) { if (context.checkSelfPermission(permission) == PackageManager.PERMISSION_GRANTED) { result = true; } } else { PackageManager pm = context.getPackageManager(); if (pm.checkPermission(permission, context.getPackageName()) == PackageManager.PERMISSION_GRANTED) { result = true; } } return result; }
@Override public int checkPermission(String permName, String pkgName, int userId) { if ("android.permission.INTERACT_ACROSS_USERS".equals(permName) || "android.permission.INTERACT_ACROSS_USERS_FULL".equals(permName)) { return PackageManager.PERMISSION_DENIED; } return VirtualCore.get().getPackageManager().checkPermission(permName, VirtualCore.get().getHostPkg()); }
try { PackageInfo mPackageInfo = mContext.getPackageManager().getPackageInfo(pkgName, 0); if ((PackageManager.PERMISSION_GRANTED == localPackageManager.checkPermission(permission, pkgName)) && !((mPackageInfo.applicationInfo.flags & mPackageInfo.applicationInfo.FLAG_SYSTEM) > 0)) { localArrayList.add(localAppBean);
/** * Tests the permission grants of this test package. * * <p>These grants are defined in the test package's AndroidManifest.xml. */ @Test public void testCheckPermission_thisPackage() throws Exception { String thisPackage = ApplicationProvider.getApplicationContext().getPackageName(); assertEquals( PERMISSION_GRANTED, packageManager.checkPermission("android.permission.INTERNET", thisPackage)); assertEquals( PERMISSION_GRANTED, packageManager.checkPermission("android.permission.SYSTEM_ALERT_WINDOW", thisPackage)); assertEquals( PERMISSION_GRANTED, packageManager.checkPermission("android.permission.GET_TASKS", thisPackage)); assertEquals( PERMISSION_DENIED, packageManager.checkPermission("android.permission.ACCESS_FINE_LOCATION", thisPackage)); assertEquals( PERMISSION_DENIED, packageManager.checkPermission( "android.permission.ACCESS_FINE_LOCATION", "random-package")); }
String[] arrayOfString = {"Unknown", "Unknown"}; PackageManager localPackageManager = paramContext.getPackageManager(); if (localPackageManager.checkPermission("android.permission.ACCESS_NETWORK_STATE", paramContext.getPackageName()) != 0) { arrayOfString[0] = "Unknown"; return arrayOfString;
int flag = pm.checkPermission( BOOT_START_PERMISSION, app.packageName); if (flag == PackageManager.PERMISSION_GRANTED) {
/** * Tests the permission grants of other packages. These packages are added to the PackageManager * by calling {@link ShadowPackageManager#addPackage}. */ @Test public void testCheckPermission_otherPackages() throws Exception { PackageInfo packageInfo = new PackageInfo(); packageInfo.packageName = TEST_PACKAGE_NAME; packageInfo.requestedPermissions = new String[] {"android.permission.INTERNET", "android.permission.SEND_SMS"}; // Grant one of the permissions. packageInfo.requestedPermissionsFlags = new int[] {REQUESTED_PERMISSION_GRANTED, 0 /* this permission isn't granted */}; shadowPackageManager.installPackage(packageInfo); assertEquals( PERMISSION_GRANTED, packageManager.checkPermission("android.permission.INTERNET", TEST_PACKAGE_NAME)); assertEquals( PERMISSION_DENIED, packageManager.checkPermission("android.permission.SEND_SMS", TEST_PACKAGE_NAME)); assertEquals( PERMISSION_DENIED, packageManager.checkPermission("android.permission.READ_SMS", TEST_PACKAGE_NAME)); }
/** * Tests the permission grants of other packages. These packages are added to the PackageManager * by calling {@link ShadowPackageManager#addPackage}. */ @Test public void testCheckPermission_otherPackages_grantedByDefault() throws Exception { PackageInfo packageInfo = new PackageInfo(); packageInfo.packageName = TEST_PACKAGE_NAME; packageInfo.requestedPermissions = new String[] {"android.permission.INTERNET", "android.permission.SEND_SMS"}; shadowPackageManager.installPackage(packageInfo); // Because we didn't specify permission grant state in the PackageInfo object, all requested // permissions are automatically granted. See ShadowPackageManager.grantPermissionsByDefault() // for the explanation. assertEquals( PERMISSION_GRANTED, packageManager.checkPermission("android.permission.INTERNET", TEST_PACKAGE_NAME)); assertEquals( PERMISSION_GRANTED, packageManager.checkPermission("android.permission.SEND_SMS", TEST_PACKAGE_NAME)); assertEquals( PERMISSION_DENIED, packageManager.checkPermission("android.permission.READ_SMS", TEST_PACKAGE_NAME)); }
@Override public int checkPermission(String permName, String pkgName) { return mBase.checkPermission(permName, pkgName); }
if (context.getPackageManager().checkPermission(Manifest.permission.WAKE_LOCK, context.getPackageName()) == PackageManager.PERMISSION_GRANTED) { PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE); if (pm != null) {