Android 将联系人添加到组中断同步

Android 将联系人添加到组中断同步,android,Android,更新: 我发现这个问题是由于该组没有源id(通过查看Log.d消息找到的-有来自同步适配器的消息)。 我问了一个相关的问题 最终找到了原因 原始问题: 我正在使用以下代码向组中添加联系人。 完成后,我在手机上看到组中的联系人,但同步失败,并显示“同步当前遇到问题。它很快就会回来。” 如果我运行这个应用程序,它确实会说groupmembership不好。 知道我做错了什么吗 values = new ContentValues(); values.put(ContactsContr

更新: 我发现这个问题是由于该组没有源id(通过查看Log.d消息找到的-有来自同步适配器的消息)。 我问了一个相关的问题

最终找到了原因

原始问题: 我正在使用以下代码向组中添加联系人。 完成后,我在手机上看到组中的联系人,但同步失败,并显示“同步当前遇到问题。它很快就会回来。”

如果我运行这个应用程序,它确实会说groupmembership不好。 知道我做错了什么吗

    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),并创建了另一个gorup 40(myNewTestGroup)和 组成员记录1934(组11中的成员)似乎有效,但1933(组40中的成员)被破坏(导致同步失败)

下面是我在groupmembership记录之间看到的内容。 除了预期的差异之外,它们似乎是相同的。 你知道我错过了什么吗?正如我在上面所说的,我所指的应用确实发现了群体成员的问题,但我不知道这是什么

: --- 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 --- 

我发现这个问题是由于该组没有源id(通过查看Log.d消息找到的-有来自同步适配器的消息)。我问了一个相关的问题 最终也找到了原因