1

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

4

2 に答える 2

1

デフォルトの連絡先ビューアにはカスタム フィールドが表示されません。

カスタム フィールドを表示するサード パーティのアプリがいくつかあります。無料のアプリ (ただし、広告はサポートされています)はこちら

于 2012-02-19T09:41:17.867 に答える
0

残念ながら、私はそれに対する本当の解決策を見つけられませんでした。しかし、次の 2 つのことが問題を軽減します。

この問題は、私の古い HTC Desire でのみ発生しました。私の姉妹のHTCセンセーションでは、カスタムフィールドが期待どおりに表示されます(最初の試行oOでHTCからうまく失敗しました)

さらに良いことに、このカスタム フィールドを介して開始される意図は、私の HTC Desires Sense でもネイティブの HTC Contacts-App によって使用される QuickContactBadge にも表示されます。したがって、ユーザーは古いバージョンの Senses で QuickContactBadge を介してアクティビティを呼び出すことができ、新しいバージョンではカスタム フィールドを使用することもできます。

于 2012-05-22T14:38:39.370 に答える