Maison > Questions et réponses > le corps du texte
获取通讯录,一条记录里面只有一条电话号码没问题,但是如果有2条电话的话只能查询出来一条。
另外一条该怎么取?
大家讲道理2017-04-17 17:41:23
看下这段代码应该可以解决
//获取通讯录学员
public void getLocalContactsInfos(Context context) {
ContentResolver cr = context.getContentResolver();
Cursor cursor = cr.query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
LogUtil.e("contact count ", cursor.getColumnCount());
while (cursor.moveToNext()) {
//取得联系人名字
int nameFieldColumnIndex = cursor.getColumnIndex(ContactsContract.PhoneLookup.DISPLAY_NAME);
String name = cursor.getString(nameFieldColumnIndex);
//取得电话号码
String ContactId = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));
Cursor phone = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "=" + ContactId, null, null);
String PhoneNumber = "";
//多个电话号码时遍历
while (phone.moveToNext()) {
PhoneNumber = phone.getString(phone.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
//格式化手机号
PhoneNumber = PhoneNumber.replace("-", "");
PhoneNumber = PhoneNumber.replace(" ", "");
}
}
cursor.close();