Android 获取权限申请结果的方法
时间: 2023-11-21 07:10:19 浏览: 26
在 Android 中,获取权限需要向用户发起权限请求,用户可以允许或拒绝该请求。为了知道用户是否允许了权限请求,我们可以通过回调方法 `onRequestPermissionsResult()` 来获取权限申请结果。
当用户对权限请求做出响应后,系统会自动回调 `onRequestPermissionsResult()` 方法,并将结果作为参数传递给该方法。我们可以在该方法中判断用户是否授权,如果授权成功,则执行相关操作,否则则提示用户需要该权限才能继续使用该功能。
下面是一个示例代码:
```java
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
switch (requestCode) {
case MY_PERMISSIONS_REQUEST_READ_CONTACTS:
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// 用户授权,执行相关操作
} else {
// 用户拒绝授权,提示需要权限才能继续使用该功能
}
break;
}
}
```
其中,`requestCode` 参数是请求权限时传递的请求码,`permissions` 参数是请求的权限数组,`grantResults` 参数是授权结果数组,其中 `grantResults[0]` 表示第一个权限请求的授权结果。我们可以通过判断 `grantResults[0]` 的值来判断用户是否授权。