要检查用户是否接受了读/写联系人的权限,可以使用以下方法:
在 Android 中,可以使用 ContextCompat.checkSelfPermission()
方法检查应用是否具有读/写联系人的权限。例如:
if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_CONTACTS) == PackageManager.PERMISSION_GRANTED
&& ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_CONTACTS) == PackageManager.PERMISSION_GRANTED) {
// 已获取读/写联系人权限
} else {
// 未获取读/写联系人权限
}
如果应用没有读/写联系人的权限,可以使用 ActivityCompat.requestPermissions()
方法请求权限。例如:
private static final int REQUEST_CONTACTS_PERMISSIONS = 1;
private void requestContactsPermissions() {
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.READ_CONTACTS, Manifest.permission.WRITE_CONTACTS},
REQUEST_CONTACTS_PERMISSIONS);
}
在 Activity
中重写 onRequestPermissionsResult()
方法,以处理权限请求结果。例如:
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if (requestCode == REQUEST_CONTACTS_PERMISSIONS) {
if (grantResults.length == 2 &&
grantResults[0] == PackageManager.PERMISSION_GRANTED &&
grantResults[1] == PackageManager.PERMISSION_GRANTED) {
// 用户已授予读/写联系人权限
} else {
// 用户未授予读/写联系人权限
}
}
}
通过以上方法,可以检查用户是否接受了读/写联系人的权限,并在必要时请求权限。
领取专属 10元无门槛券
手把手带您无忧上云