【发布时间】:2011-07-28 03:31:08
【问题描述】:
正在构建一个需要为每个电话号码提供自定义联系人字段(“白名单”,如果您想知道的话)的应用。
但是,我只找到了一种为每个联系人保存自定义数据的方法,使用Data.RAW_CONTACT_ID,但不是为每个电话号码。我尝试使用Phone._id,但出现java.nullpointerexception 错误。
这是我现在的代码:
try{ //phoneId = get Phone._ID from cursor
ContentValues values = new ContentValues();
values.put(Data.DATA1, "yes");
int state = getContentResolver().update(Phone.CONTENT_URI, values, Phone._ID + " = "
+ phoneId + " AND " + Data.MIMETYPE + "='" + MIMETYPE_WHITELIST_CONTACT+"'", null);
if (state == 0) {
values.put(Phone._ID, phoneId);
values.put(Data.DATA1, "yes");
values.put(Data.MIMETYPE, MIMETYPE_WHITELIST_CONTACT);
getContentResolver().insert(Data.CONTENT_URI, values);
}
}catch (Exception e) {
Toast.makeText(ChooseContactsActivity.this, e.toString(), Toast.LENGTH_LONG).show();
}
有没有人知道需要更改什么以便它可以保存电话号码的自定义字段,而不是联系人?
【问题讨论】: