-1

Android2.2デバイスで奇妙な問題が発生しました。既存の連絡先があり、次の方法で変更操作を行います。

ContentProviderOperation.Builder builder =
ContentProviderOperation.newUpdate(ContactsContract.Data.CONTENT_URI)
    .withSelection(ContactsContract.Data.CONTACT_ID + "=? AND " +
    ContactsContract.Data.MIMETYPE + "=?",
    new String[]{id,
    ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE})
    .withValue(ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME,displayName)
    .withValue(ContactsContract.CommonDataKinds.StructuredName.FAMILY_NAME,familyName)
    .withValue(ContactsContract.CommonDataKinds.StructuredName.MIDDLE_NAME,middleName)
    .withValue(ContactsContract.CommonDataKinds.StructuredName.GIVEN_NAME,givenName)
    .withValue(ContactsContract.CommonDataKinds.StructuredName.PREFIX,honorificPrefix)
   .withValue(ContactsContract.CommonDataKinds.StructuredName.SUFFIX,honorificSuffix);

mApp.getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops);

連絡先は正しく変更されます。連絡先名にはすべての新しい値が表示されます。

ただし、連絡先アプリを見ると、変更を行うと「(不明)」という新しい連絡先が表示されます。連絡先はいくつでも挿入できますが、変更するたびに新しい「(不明)」連絡先が作成されます。

誰かアイデアはありますか?

4

1 に答える 1

0

問題を引き起こしていたより大きな関数の一部として、RAW_CONTACT_IDに対する誤ったnewInsert()呼び出しがありました。時間を無駄にする質問でごめんなさい。

于 2011-01-13T00:15:26.130 に答える