requestPermissions 如何获取 结果
时间: 2024-02-05 21:13:20 浏览: 36
在 Android 中,您可以使用 ActivityCompat.requestPermissions() 方法来请求用户授予应用程序某些权限。该方法将弹出一个对话框,询问用户是否允许应用程序访问指定的权限。用户可以选择授予权限或拒绝授权。
当用户作出选择后,系统会调用应用程序的 onRequestPermissionsResult() 方法,并将用户的响应作为参数传递给该方法。因此,您需要在 onRequestPermissionsResult() 方法中处理用户的响应。
以下是一个示例代码,演示了如何请求用户授予 READ_CONTACTS 权限并处理用户的响应:
```
private static final int PERMISSIONS_REQUEST_READ_CONTACTS = 100;
// 请求 READ_CONTACTS 权限
private void requestContactsPermission() {
if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_CONTACTS)
!= PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.READ_CONTACTS},
PERMISSIONS_REQUEST_READ_CONTACTS);
}
}
// 处理用户的响应
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
if (requestCode == PERMISSIONS_REQUEST_READ_CONTACTS) {
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// 用户授予了 READ_CONTACTS 权限
// 在这里执行相关操作
} else {
// 用户拒绝了 READ_CONTACTS 权限
// 在这里给出相应提示
}
}
}
```
在这个示例中,当应用程序启动时,它会检查是否已经授予 READ_CONTACTS 权限。如果没有授予该权限,则会调用 requestContactsPermission() 方法,请求该权限。当用户作出选择后,系统会调用 onRequestPermissionsResult() 方法,并将用户的响应作为参数传递给该方法。在该方法中,我们可以根据用户的响应执行相应的操作。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)