ANDROID 联系人组何时会被物理删除而不是被标记为已删除?
When is the ANDROID Contact Group PHYSICALLY removed instead of being marked as deleted?
我正在尝试永久删除 Android 联系人组并使用了 Sync 参数,但记录似乎总是被简单地标记为已删除,并没有被物理删除。任何人都可以解释 how/when,如果有的话,合同组行被永久删除或显示一段代码来演示如何执行此操作?我要删除的记录是我添加的记录,因此它们不是只读的。
链接回
我的删除代码:
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
您正在构建正确的 Uri 但未使用它,请这样尝试
Uri mUri = ContactsContract.Groups.CONTENT_URI;
mUri = mUri.buildUpon().appendQueryParameter(ContactsContract.CALLER_IS_SYNCADAPTER, "true").build();
我正在尝试永久删除 Android 联系人组并使用了 Sync 参数,但记录似乎总是被简单地标记为已删除,并没有被物理删除。任何人都可以解释 how/when,如果有的话,合同组行被永久删除或显示一段代码来演示如何执行此操作?我要删除的记录是我添加的记录,因此它们不是只读的。
链接回
我的删除代码:
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
您正在构建正确的 Uri 但未使用它,请这样尝试
Uri mUri = ContactsContract.Groups.CONTENT_URI;
mUri = mUri.buildUpon().appendQueryParameter(ContactsContract.CALLER_IS_SYNCADAPTER, "true").build();