0

更新: この問題は、グループに 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 --- 
4

1 に答える 1

0

この問題は、グループに source_id がないことが原因であることがわかりました (Log.d メッセージを調べることで見つかりました - 同期アダプターからのメッセージがありました)。ここで関連する質問を したところ、 最終的にその原因もわかりました。

于 2013-09-08T22:03:54.450 に答える