Android获取所有联系人重复的名称

时间:2012-06-17 18:35:30

标签: android contacts

我正在使用此代码:

protected String getContactInfo() {
         Cursor cursor = getContentResolver().query(ContactsContract.Data.CONTENT_URI, null, null, null, null);
         String str = "";
         while (cursor.moveToNext()) {
          str += cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME)) + ", ";
        }
        cursor.close();
        return str;
}

执行后,此方法返回的字符串为Test1,Test1,Test1,Test1,Test1,Test1,Test1,Test1,Test1,Test1,Test1,Test1,Test1,Test1,Test2,Test2,Test2,Test2,Test2,Test2 ,Bob,Bob,Bob,Bob,

当我在电话簿Test1,Test2,Bob

中只有3个联系人时

为什么会发生这种情况?

1 个答案:

答案 0 :(得分:4)

试试这个......

用URI ...

替换查询参数
Cursor cursor = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);

您正在尝试从ContactsContract.Contacts.CONTENT_URI获取名称,并且您正在ContactsContract.Data.CONTENT_URI上触发查询。