android studio查询联系人
时间: 2023-11-16 22:02:05 浏览: 33
要在Android Studio中查询联系人,您需要使用ContentResolver类和ContactsContract类。以下是一些步骤:
1. 确保您的应用程序具有读取联系人和读取电话状态的权限。您可以在AndroidManifest.xml文件中添加以下行:
```
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
```
2. 在您的活动中,使用ContentResolver类查询联系人。以下是一个示例代码:
```
Cursor cursor = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
if (cursor.moveToFirst()) {
do {
String name = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
String id = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));
Cursor phoneCursor = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,
ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = ?", new String[]{id}, null);
if (phoneCursor.moveToFirst()) {
do {
String phoneNumber = phoneCursor.getString(phoneCursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
Log.d(TAG, "Name: " + name + ", Phone Number: " + phoneNumber);
} while (phoneCursor.moveToNext());
}
phoneCursor.close();
} while (cursor.moveToNext());
}
cursor.close();
```
这将查询所有联系人及其电话号码,并将它们记录在日志中。
3. 如果您想将联系人信息显示在屏幕上,您可以使用ListView或RecyclerView等视图组件。您需要创建一个适配器来将联系人数据绑定到视图上。