📅  最后修改于: 2023-12-03 15:38:12.620000             🧑  作者: Mango
在 Android 应用中,有时需要访问用户的联系人来完成一些业务需求,例如拨打电话、发送短信等。而要访问用户的联系人,首先需要获取相应的权限。本文将介绍如何在 Android 中获取联系人权限。
在 AndroidManifest.xml 文件中添加以下权限声明:
<uses-permission android:name="android.permission.READ_CONTACTS" />
该权限声明表明应用将会获取读取联系人的权限。
在应用运行时,需要请求相应的权限。可以通过以下代码请求联系人权限:
if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_CONTACTS) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_CONTACTS}, REQUEST_CODE);
}
在上述代码中,ContextCompat.checkSelfPermission
方法用于判断应用是否已被授予权限,若未被授予该权限,则通过 ActivityCompat
类的 requestPermissions
方法请求该权限。
需要注意的是,这里请求的是 Manifest.permission.READ_CONTACTS
权限,若需要访问其他权限,需替换为相应的权限名称。
当用户处理完权限请求之后,系统将会回调 onRequestPermissionsResult
方法,我们需要在该方法中获取相应的权限结果:
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
if (requestCode == REQUEST_CODE) {
if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// 权限已被授予
} else {
// 权限被拒绝
}
}
}
在该方法中,我们根据 requestCode
判断当前的请求,然后判断 grantResults
数组中第一个元素表示该权限是否被授予。
以上就是在 Android 中获取联系人权限的全部流程。通过添加权限声明、请求权限和处理权限请求结果,我们可以在应用中访问用户的联系人了。