在Android 10及以上版本中,应用需要动态请求READ_CONTACTS权限才能获取联系人信息。
以下是获取Android 10联系人列表的示例代码:
//首先检查是否已授予读取联系人的权限 if (ContextCompat.checkSelfPermission(context, Manifest.permission.READ_CONTACTS) != PackageManager.PERMISSION_GRANTED) { //如果没有权限,则请求权限 ActivityCompat.requestPermissions(context, new String[]{Manifest.permission.READ_CONTACTS}, MY_PERMISSIONS_REQUEST_READ_CONTACTS); } else { //如果已经授予权限,则获取联系人列表 Cursor cursor = context.getContentResolver().query( ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
while (cursor.moveToNext()) {
String contactName =
cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
Log.d(TAG, "Contact Name: " + contactName);
}
}
请注意,上面的示例仅获取联系人的显示名称。如需获取其他联系人信息,请参考Android文档中的Contacts API。