【发布时间】:2015-08-30 09:30:44
【问题描述】:
我正在开发一个创建随机联系人的项目,但我无法实现删除功能。我已经通过
标记了每个生成的联系人 ops.add(ContentProviderOperation
.newInsert(ContactsContract.Data.CONTENT_URI)
.withValueBackReference(Data.RAW_CONTACT_ID,
rawContactInsertIndex)
.withValue(Data.MIMETYPE, Note.CONTENT_ITEM_TYPE)
.withValue(Note.NOTE, note)
.build());
现在要删除我需要使用类似于我在这里找到的联系人的联系人
Uri contactUri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI,
Uri.encode(phoneNumber));
Cursor cur = ctx.getContentResolver().query(contactUri, null, null,
null, null);
try {
if (cur.moveToFirst()) {
do {
String lookupKey =
cur.getString(cur.getColumnIndex(ContactsContract.Contacts.LOOKUP_KEY));
Uri uri = Uri.withAppendedPath(
ContactsContract.Contacts.CONTENT_LOOKUP_URI,
lookupKey);
ctx.getContentResolver().delete(uri, null, null);
} while (cur.moveToNext());
}
} catch (Exception e) {
System.out.println(e.getStackTrace());
}
return false;
}
我相信上面的代码和我正在搜索的代码之间的唯一区别是上面的代码使用电话号码删除联系人,但出于我的目的,我需要通过联系人的备注字段删除。
【问题讨论】:
-
stackoverflow.com/questions/527216/… 在这里找到了答案,但它无法弄清楚如何根据 NOTE 字段将参数更改为仅删除
标签: android contacts android-contacts contactscontract