我想阅读联系人列表,我可以获取联系号码而不是姓名,它取不同的名字。例如:我已将号码保存为 1)8888888888,名称为USER1 2)9999999999,名称为USER2 3)4444444444,名称为USER3等
显示8888888888,但我的应用中名称为USER3, 我想在我的应用程序中阅读联系人列表。请帮助我。
谢谢
答案 0 :(得分:0)
public ArrayList<LocalContacts> localContactsObj = new ArrayList<LocalContacts>();
public void GetContacts(Context cntx) //This Context parameter is nothing but your Activity class's Context
{
localContactsObj.clear();
//localContactsName.clear();
//localContactsNumber.clear();
Cursor cursor =getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, null,
null, null, "upper(" + ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME + ") ASC");
Integer contactsCount = cursor.getCount(); // get how many contacts you have in your contacts list
if (contactsCount > 0)
{
while(cursor.moveToNext())
{
LocalContacts localContacts = new LocalContacts();
String id = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));
String contactName = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
if (Integer.parseInt(cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))) > 0)
{
//the below cursor will give you details for multiple contacts
Cursor pCursor = cntx.getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,null,
ContactsContract.CommonDataKinds.Phone.CONTACT_ID +" = ?",
new String[]{id}, null);
// continue till this cursor reaches to all phone numbers which are associated with a contact in the contact list
while (pCursor.moveToNext())
{ //String isStarred = pCur.getString(pCur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.STARRED));
String phoneNo = pCursor.getString(pCursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
String phoneName = pCursor.getString(pCursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
String photo = pCursor.getString(pCursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.PHOTO_URI));
//localContactsName.add(contactName+"");
// localContactsNumber.add(phoneNo.replaceAll("[\\s\\-\\.\\^:,]",""));
localContacts.name = contactName+"";
localContacts.number = phoneNo.replaceAll("[\\s\\-\\.\\^:,]","")+"";
localContacts.photo = photo;
localContactsObj.add(localContacts);
}
pCursor.close();
}
}
}
cursor.close();
}