【发布时间】:2011-03-16 15:40:02
【问题描述】:
我正在尝试使用 ContactsContract api 向我的联系人添加一些注释。我不确定我是否完全理解各种联系人 ID 和原始联系人 ID。我的问题似乎与here 讨论的问题非常相似。
我想: 1. 查找特定联系人。 2.找到后,插入特定的注释
我的做法如下:
Cursor contacts = getContentResolver().query(ContactsContract.Data.CONTENT_URI, null, null, null, null);
while(contacts.moveToNext()){
Log.d("TC", "Found : " + name);
int rid = contacts.getColumnIndex(ContactsContract.Data.RAW_CONTACT_ID);
int rawContactID = contacts.getInt(rid);
int nameIdx = contacts.getColumnIndex(ContactsContract.Data.DISPLAY_NAME);
String name = contacts.getString(nameIdx);
if <Some condition>{
ContentValues contentValues = new ContentValues();
contentValues.put(ContactsContract.Data.RAW_CONTACT_ID, rawContactID);
contentValues.put(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Note.CONTENT_ITEM_TYPE);
contentValues.put(ContactsContract.CommonDataKinds.Note.NOTE, "Bazzinga !");
int stat = getContentResolver().update(ContactsContract.Contacts.CONTENT_URI, contentValues, null , null);
Log.d("TC", "Update returned : " + stat);
}
}
我没有收到任何错误。但是联系人没有更新:(
【问题讨论】: