context.checkSelfPermission(SYSTEM_ALERT_WINDOW)始终返回-1

时间:2018-06-15 03:34:01

标签: android permissions

我想要检查权限,使用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;
    }

0 个答案:

没有答案