权限检测生效条件:
- targetSdkVersion 以及 compileSdkVersion 升级到 23 及以上
- 运行 Android 系统 6.0 及以上
三种检测权限写法:
public static boolean checkPermission1(Context context, String[] permissions) {
PackageManager packageManager = context.getPackageManager();
String packageName = context.getPackageName();
for (String permission : permissions) {
int per = packageManager.checkPermission(permission, packageName);
if (PackageManager.PERMISSION_DENIED == per) {
Log.w(TAG, "required permission not granted . permission = " + permission);
return false;
}
}
return true;
}
public static boolean checkPermission2(Context context, String[] permissions) {
for (String permission : permissions) {
int per =context.checkPermission(permission, Process.myPid(),Process.myUid());
if (PackageManager.PERMISSION_GRANTED != per) {
Log.w(TAG, "required permission not granted . permission = " + permission);
return false;
}
}
return true;
}
public static boolean checkPermission3(Context context, String[] permissions) {
for (String permission : permissions) {
int per = ContextCompat.checkSelfPermission(context, Manifest.permission.CAMERA);
if (PackageManager.PERMISSION_GRANTED != per) {
Log.w(TAG, "required permission not granted . permission = " + permission);
return false;
}
}
return true;
}
网友评论