好的,我要去打屁股了。 我一直在搞乱这个问题。一旦你知道contact_id这么简单,就不应该删除一个联系人吗?此删除运行,不会引发错误,但不会删除联系人。
日志信息显示如下:
delete contact_id = '615'
delete return code : 0
这是涉及的代码:
private static int deleteContact(Context c, String id) {
String where = ContactsContract.Data.CONTACT_ID + " = '" + id + "'";
int rc = -1;
try {
Log.i("delete", where);
rc = c.getContentResolver().delete(ContactsContract.Contacts.CONTENT_URI, where, null);
Log.i("delete",String.format("return code : %d", rc));
} catch (Exception e) {
System.out.println(e.getStackTrace());
}
return rc;
}
有人可以帮我找到解决方案或建议替代方案吗?
答案 0 :(得分:-1)
好吧,我回去重新审视了问题/ 527216 / ...如果它对我不起作用了。我不知道我整天做错了什么......但是几个小时的休息时间,更多的复制/粘贴,这个功能为我删除了一个联系人:
private static int deleteContact(Context c, String lookupKey) {
int rc = 0;
ContentResolver cr = c.getContentResolver();
try {
Uri uri = Uri.withAppendedPath(
ContactsContract.Contacts.CONTENT_LOOKUP_URI, lookupKey);
rc = cr.delete(uri, null, null);
} catch (Exception e) {
System.out.println(e.getStackTrace());
}
return rc;
}
感谢您的回答!