联系人列表不在Android中排序

时间:2015-11-23 04:58:04

标签: android

我正在尝试按字母排序顺序获取手机通讯录。它通过快速获取名称但未获得排序顺序。我尝试 ContactsContract.Contacts.SORT_KEY_PRIMARY +“ASC” ContactsContract .Contacts.DISPLAY_NAME +“ASC”但没有取得好成绩。

我的代码是

Cursor phones = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,null,null,ContactsContract.Contacts.DISPLAY_NAME + " ASC");
while (phones.moveToNext())
{
    String name=phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
    String phoneNumber = phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
   Log.e("Tag ","Name " + name);

}
phones.close();

2 个答案:

答案 0 :(得分:1)

您必须按照以下方式获取手机通讯录的排序顺序:

int sort_order=Settings.system.getInt (getApplicationContext ().getContentResolver (),"android.contacts.SORT_ORDER");

现在您的光标查询将如下所示:

Cursor phones = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,null,null,sort_order);

答案 1 :(得分:1)

您可以按字母顺序获取联系人:

Cursor cursor = getContentResolver.query(Phone.CONTENT_URI, null, null, null, Phone.DISPLAY_NAME + " ASC");