1.直接調(diào)用的方法:
public boolean selfPermissionGranted(String permission) {
? ? ? ? // For Android < Android M, self permissions are always granted.
? ? ? ? boolean result = true;
? ? ? ? if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
? ? ? ? ? ? if (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;
}
2.獲取Target的方法
?try?{
?final?PackageInfo?info?=?context.getPackageManager().getPackageInfo(
????????????????context.getPackageName(),?0);
????????targetSdkVersion?=?info.applicationInfo.targetSdkVersion;
????}?catch?(PackageManager.NameNotFoundException?e)?{
????????e.printStackTrace();
????}