0

我正在尝试永久删除一个 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());
        }
    }
}

读取组时的结果:

图片可以在这里找到http://i.stack.imgur.com/5OOfc.png

4

1 回答 1

0

您正在构建正确的 Uri 但未使用它,请尝试这样

Uri mUri = ContactsContract.Groups.CONTENT_URI;
mUri = mUri.buildUpon().appendQueryParameter(ContactsContract.CALLER_IS_SYNCADAPTER, "true").build();
于 2015-10-05T08:24:08.343 回答