Android动态申请读写通讯录权限
时间: 2023-10-22 21:06:48 浏览: 283
1. 在AndroidManifest.xml文件中添加权限:
```xml
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
```
2. 在Activity中申请权限:
```java
if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_CONTACTS) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_CONTACTS}, 1);
} else {
// 已经有权限,可以执行读取通讯录操作
}
if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_CONTACTS) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_CONTACTS}, 2);
} else {
// 已经有权限,可以执行写入通讯录操作
}
```
3. 处理权限申请结果:
```java
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
switch (requestCode) {
case 1:
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// 用户同意了读取通讯录权限,可以执行读取通讯录操作
} else {
// 用户拒绝了读取通讯录权限,无法执行读取通讯录操作
}
break;
case 2:
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// 用户同意了写入通讯录权限,可以执行写入通讯录操作
} else {
// 用户拒绝了写入通讯录权限,无法执行写入通讯录操作
}
break;
}
}
```
阅读全文