1

我使用这段代码:

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, Bob,鲍勃,鲍勃,鲍勃,

当我在电话簿 Test1、Test2、Bob 中只有 3 个联系人时

为什么会发生这种情况?

4

1 回答 1

4

试试这个...

用 URI 替换查询参数...

Cursor cursor = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);

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

于 2012-06-17T18:55:04.893 回答