更新: 我发现这个问题是由于组没有 source_id (通过查看 Log.d 消息找到 - 有来自同步适配器的消息)。我在这里问了一个相关问题
并最终找出了原因。
原始问题: 我正在使用以下代码将联系人添加到组中。完成后,我在手机上看到群组中的联系人,但同步失败并显示“同步当前遇到问题。很快就会恢复。”
如果我运行这个应用程序,它确实说组成员资格很差。知道我做错了什么吗?
values = new ContentValues();
values.put(ContactsContract.CommonDataKinds.GroupMembership.MIMETYPE,ContactsContract.CommonDataKinds.GroupMembership.CONTENT_ITEM_TYPE);
values.put(ContactsContract.CommonDataKinds.GroupMembership.RAW_CONTACT_ID, 132);
values.put(ContactsContract.CommonDataKinds.GroupMembership.GROUP_ROW_ID, 30);
context.getContentResolver().insert(ContactsContract.Data.CONTENT_URI,values);
更新: 显示的值显然是硬编码的,并且与我在下面显示的有所不同。
我手动创建了一个组(11 myGroup1)并创建了另一个组 40(myNewTestGroup)和组成员记录 1934(组 11 中的成员)似乎工作但 1933(组 40 中的成员)被破坏(导致同步失败)。
这是我在组成员记录之间查看的内容。除了预期的 _id 差异之外,它们似乎相同。关于我必须错过的任何想法?正如我在上面所说的,我指出的应用程序确实发现了组成员身份的问题,但我不明白它是什么。
: --- begin ---
: key = mimetype , value = vnd.android.cursor.item/group_membership
: key = _id , value = 1934
: key = data1 , value = 11
: key = contact_id , value = 294
: key = data2 , value = null
: key = data3 , value = null
: key = lookup , value = 1645i7c8c143a8f6bc41e.2452i1485527796.66ixxxx914
: key = raw_contact_id , value = 132
: --- end ---
: --- begin ---
: key = mimetype , value = vnd.android.cursor.item/group_membership
: key = _id , value = 1933
: key = data1 , value = 40
: key = contact_id , value = 294
: key = data2 , value = null
: key = data3 , value = null
: key = lookup , value = 1645i7c8c143a8f6bc41e.2452i1485527796.66ixxxx914
: key = raw_contact_id , value = 132
: --- end ---
And here are the group records
: key = title , value = myGroup1
: key = data_set , value = null
: key = _id , value = 11
: key = group_visible , value = 1
: key = system_id , value = null
: key = should_sync , value = 1
: key = notes , value = myGroup1
: key = deleted , value = 0
: --- end ---
: --- begin ---
: key = title , value = myNewTestGroup
: key = data_set , value = null
: key = _id , value = 40
: key = group_visible , value = 1
: key = system_id , value = null
: key = should_sync , value = 1
: key = notes , value = myNewTestGroup
: key = deleted , value = 0
: --- end ---