您的位置:首页 > 其它

checkSelfPermission 无效的解决办法

2016-11-08 18:06 411 查看
public static boolean selfPermissionGranted(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 (getTargetSdkVersion(context) >= 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;
}

private static int getTargetSdkVersion(Context context) {
int version = 0;
try {
final PackageInfo info = context.getPackageManager().getPackageInfo(
context.getPackageName(), 0);
version = info.applicationInfo.targetSdkVersion;
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();

}
return version;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐