android使用电话簿提供的内容提供者,读取电话簿中联系人信息(姓名和电话号码)
时间: 2024-02-19 17:01:06 浏览: 121
可以通过以下步骤在Android中使用电话簿提供的内容提供者读取电话簿中联系人信息(姓名和电话号码):
1. 在AndroidManifest.xml文件中添加读取联系人权限:
```
<uses-permission android:name="android.permission.READ_CONTACTS" />
```
2. 在Activity中使用以下代码读取联系人信息:
```
Cursor cursor = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
if (cursor != null && cursor.getCount() > 0) {
while (cursor.moveToNext()) {
String name = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
String phoneNumber = "";
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()) {
phoneNumber = phoneCursor.getString(phoneCursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
}
phoneCursor.close();
Log.d("Contact", "Name: " + name + ", Phone Number: " + phoneNumber);
}
}
cursor.close();
```
以上代码会查询所有联系人,并打印出每个联系人的姓名和电话号码。
阅读全文