我正在尝试永久删除Android联系人组并使用了Sync参数,并且始终显示记录只是标记为已删除且未进行物理删除。任何人都可以解释如何/何时永久删除合同组行或显示一段代码演示如何执行此操作?我想删除的记录是我添加的记录,因此它们不是只读的。
链接回https://stackoverflow.com/a/21376905/5398898
我的删除代码:
private void RemoveGroup()
{
TextView tv = (TextView) this.findViewById(R.id.helloworld);
int[] startId = {10};//{6, 7, 8, 9, 10, 11};
String groupName = "My New Contacts";
Uri mUri = ContactsContract.Groups.CONTENT_URI;
mUri.buildUpon().appendQueryParameter(ContactsContract.CALLER_IS_SYNCADAPTER, "true").build();
for (int n = 0; n < startId.length; n++) {
groupCount = startId[n];
ContentValues values = new ContentValues();
values.put(ContactsContract.Groups._ID, groupCount);
try {
getContentResolver().delete(mUri, values.toString(),null);
} catch (Exception ex) {
tv.setText(ex.getMessage());
}
}
}
阅读群组时的结果:
找到答案 0 :(得分:0)
您正在构建正确的Uri但未使用它,请尝试这样
Uri mUri = ContactsContract.Groups.CONTENT_URI;
mUri = mUri.buildUpon().appendQueryParameter(ContactsContract.CALLER_IS_SYNCADAPTER, "true").build();