运行时权限代码
时间: 2023-08-06 08:19:02 浏览: 38
以下是一个简单的运行时权限请求代码示例,可以用于请求读取存储权限:
```java
private static final int PERMISSION_REQUEST_CODE = 200;
private void requestReadStoragePermission() {
// 检查是否已经授权
if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED) {
// 已经授权,执行相关操作
// TODO: 读取存储中的文件
} else {
// 未授权,请求权限
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, PERMISSION_REQUEST_CODE);
}
}
// 处理权限请求的回调
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
if (requestCode == PERMISSION_REQUEST_CODE) {
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// 用户授权,执行相关操作
// TODO: 读取存储中的文件
} else {
// 用户拒绝授权,给出提示或者采取其他措施
Toast.makeText(this, "未授权读取存储权限!", Toast.LENGTH_SHORT).show();
}
}
}
```
在请求权限时,可以使用 `ActivityCompat.requestPermissions()` 方法来请求权限。在回调方法 `onRequestPermissionsResult()` 中,可以根据用户的授权情况来执行相应的操作。如果用户授权,可以继续执行相关操作,否则可以给出提示或者采取其他措施。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)