Android 权限检查与申请实现
定义权限数组
public static final String[] PERMISSIONS_READ = {
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE
};
判断权限集合
public static boolean lacksPermissions(Context context, String[] permissions) {
for (String permission : permissions) {
if (lacksPermission(context, permission)) {
return true;
}
}
return false;
}
private static boolean lacksPermission(Context context, String permission) {
return ContextCompat.checkSelfPermission(context, permission) ==
PackageManager.PERMISSION_DENIED;
}
Activity 中使用
if (lacksPermissions(this, PERMISSIONS_READ)) {
ActivityCompat.requestPermissions(this, PERMISSIONS_READ, 0);
} else {
}
权限设置回调