您的位置:首页 > 其它

文章标题

2016-08-04 11:19 447 查看
1、查看应用是否以获取某种权限

Android M(23)之前的方法:

PackageManager pm = getPackageManager();
boolean permission = (PackageManager.PERMISSION_GRANTED ==
pm.checkPermission("android.permission.RECORD_AUDIO", "packageName"));
if (permission) {
showToast("有这个权限");
}else {
showToast("木有这个权限");
}


Android M之后(>=23),Google将之前的应用在安装时自动获取权限改为的使用时动态获取的方式,即在需要权限时代码里要做判断,如果没有该权限需要去请求权限。Android API提供了以下方法:

//判断是否有权限
// Here, thisActivity is the current activity
if (ContextCompat.checkSelfPermission(thisActivity,
Manifest.permission.ACCESS_COARSE_LOCATION)
!= PackageManager.PERMISSION_GRANTED)

//请求权限
ActivityCompat.requestPermissions(thisActivity,
new String[]{Manifest.permission.ACCESS_COARSE_LOCATION},
MY_PERMISSIONS_REQUEST_ACCESS_COARSE_LOCATION);
//判断是否需要 向用户解释,为什么要申请该权限
ActivityCompat.shouldShowRequestPermissionRationale(thisActivity,
Manifest.permission.READ_CONTACTS)
//权限申请结果
onRequestPermissionsResult(int requestCode,
String permissions[], int[] grantResults)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: