0

我正在尝试从单个联系人那里获取“笔记”。它添加得很好,但检索它一直是个问题。

String selection = ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME+" like'%" + sender +"%'";
            String[] projection = new String[] { ContactsContract.CommonDataKinds.Note.NOTE};
            Cursor c2 = getContentResolver().query(ContactsContract.Data.CONTENT_URI, projection, selection, null, null);
            if (c2.moveToFirst()) {
                notes = c2.getString(0);                    
            }

它适用于姓名或电话号码等其他值,但似乎无法正确检索笔记。它取而代之的是检索一个随机值,例如电子邮件。

4

1 回答 1

0

我相信您的问题是,并非表中的所有行都代表有注释的联系人类型。您必须请求正确的 MIME 类型。

ContactsContract.CommonDataKinds.Note 是存在于所有行上的“data1”列的别名,因此当您获得不同 MIME 类型的行时,它代表不同的数据。

如何在 Android 中获取联系人应该让您了解如何执行此操作。

于 2013-05-21T01:41:36.737 回答