安卓开发获取手机通讯录信息
时间: 2023-09-06 22:08:16 浏览: 125
安卓开发可以使用ContentResolver查询手机通讯录信息。首先定义一个ContentResolver对象,然后使用它查询通讯录数据。以下是一个示例代码:
```
ContentResolver cr = getContentResolver();
Cursor cursor = cr.query(ContactsContract.Contacts.CONTENT_URI, null,
null, null, null);
while (cursor.moveToNext()) {
String id = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));
String name = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
if (Integer.parseInt(cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))) > 0) {
Cursor pCur = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,
ContactsContract.CommonDataKinds.Phone.CONTACT_ID +" = ?",
new String[]{id}, null);
while (pCur.moveToNext()) {
String phoneNo = pCur.getString(pCur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
// Do something with phone number
}
pCur.close();
}
}
cursor.close();
```
该代码使用ContentResolver查询ContactsContract.Contacts.CONTENT_URI,这是通讯录内容提供者的URI。通过这个URI,可以查询联系人的ID和显示名称。然后,使用ContactsContract.CommonDataKinds.Phone.CONTENT_URI URI查询通讯录的电话号码。
阅读全文