我正在使用此代码:
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个联系人时为什么会发生这种情况?
答案 0 :(得分:4)
试试这个......
用URI ...
替换查询参数Cursor cursor = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
您正在尝试从ContactsContract.Contacts.CONTENT_URI
获取名称,并且您正在ContactsContract.Data.CONTENT_URI
上触发查询。