我想要检查权限,使用context.checkSelfPermission。 一些权限如“android.permission.RECEIVE_BOOT_COMPLETED”,“android.permission.READ_PHONE_STATE”,它会工作。但是像“android.permission.SYSTEM_ALERT_WINDOW”,“Manifest.permission_group.PHONE”,它总是返回-1.Y?< / p>
compileSdkVersion 26 targetSdkVersion 26 AVD API 26 Android 8.0
private static boolean isAppliedPermission(Context context, String permission) {
// For Android < Android M, self permissions are always granted.
boolean result = true;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
if (context.getApplicationInfo().targetSdkVersion >= Build.VERSION_CODES.M) {
// targetSdkVersion >= Android M, we can
// use Context#checkSelfPermission
result = context.checkSelfPermission(permission)
== PackageManager.PERMISSION_GRANTED;
} else {
// targetSdkVersion < Android M, we have to use PermissionChecker
result = PermissionChecker.checkSelfPermission(context, permission)
== PermissionChecker.PERMISSION_GRANTED;
}
}
return result;
}