rawcontacts にカスタム フィールドを追加するカスタム syncadapter を作成しました。SampleSyncAdapterで、またはこの例で last.fm-App を使用して正確にどのように行われるか。そして、エミュレータ上で正常に動作しています。
私のカスタムフィールドを宣言するxmlファイル:
<ContactsSource xmlns:android="http://schemas.android.com/apk/res/android">
<ContactsDataKind
android:mimeType="vnd.com.google.cursor.item/vnd.alien.mimetype"
android:icon="@drawable/icon"
android:summaryColumn="data2"
android:detailColumn="data3"
android:detailSocialSummary="true" />
</ContactsSource>
カスタムフィールドをcontactscontract-providerのデータテーブルに追加するコード:
mContentUri = Data.CONTENT_URI.buildUpon().appendQueryParameter(ContactsContract.CALLER_IS_SYNCADAPTER, "true").build();
Builder mID = ContentProviderOperation.newInsert(mContentUri)
.withValue(Data.RAW_CONTACT_ID, getRawContactId())
.withValue(Data.MIMETYPE, "vnd.com.google.cursor.item/vnd.alien.mimetype")
.withValue(Data.DATA1, mContactInformations.get("mID"))
.withValue(Data.DATA2, mContext.getString(R.string.profile_text))
.withValue(Data.DATA3, mContext.getString(R.string.profile_id)+" "+mContactInformations.get("mID"));
しかし、HTC Sense がインストールされた HTC Desire でそれらを実行すると、このカスタム フィールドが表示されなくなりました?!? 誰も同じ問題を経験しましたか?
カスタム フィールドを表示するためのヒントは大歓迎です。
乾杯 Ali3n