android 判断有没有某个权限
时间: 2023-08-12 12:09:12 浏览: 47
要判断 Android 设备是否具有某项权限,可以使用 ContextCompat.checkSelfPermission() 方法。该方法会返回 PackageManager.PERMISSION_GRANTED 或者 PackageManager.PERMISSION_DENIED,这取决于应用程序是否具有所请求的权限。
以下是一个示例代码:
```
if (ContextCompat.checkSelfPermission(thisActivity, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {
// 没有相机权限,请求权限
ActivityCompat.requestPermissions(thisActivity, new String[]{Manifest.permission.CAMERA}, MY_PERMISSIONS_REQUEST_CAMERA);
} else {
// 已经有相机权限,执行相应操作
}
```
其中,thisActivity 是当前 Activity 对象的引用,Manifest.permission.CAMERA 是需要检查的权限,MY_PERMISSIONS_REQUEST_CAMERA 是请求代码,用于在回调方法 onRequestPermissionsResult() 中识别请求。
在 onRequestPermissionsResult() 方法中,可以处理用户对权限请求的响应。如果用户授予所请求的权限,应用程序可以继续执行相关操作。如果用户拒绝了权限请求,应用程序可以根据需要采取适当的措施。