我正试图从一个联系人那里得到“笔记”。它添加了很好,但检索它一直是个问题。
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);
}
它可以与名称或电话号码等其他值一起使用,但似乎无法正确检索笔记。它会像电子邮件一样检索随机值。
答案 0 :(得分:0)
我认为您的问题是并非表中的所有行都代表具有备注的联系人类型。您必须请求正确的MIME类型。
ContactsContract.CommonDataKinds.Note是所有行上都存在的'data1'列的别名,因此当您获得不同MIME类型的行时,它表示不同的数据。
How to get contacts in Android应该让您了解如何执行此操作。