Пользовательское поле контакта не отображается в HTC Sense - PullRequest
1 голос
/ 19 февраля 2012

Я написал собственный syncadapter, который также добавил настраиваемое поле в rawcontacts.Как это сделать в 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>

Код для добавления настраиваемого поля в таблицу данных contactcontract-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 Desire с установленным HTC Sense, я больше не вижу это настраиваемое поле?!?Кто-нибудь сталкивался с такой же проблемой?

Любая подсказка, чтобы сделать видимым мое настраиваемое поле, высоко ценится!

Приветствия Ali3n

Ответы [ 2 ]

1 голос
/ 19 февраля 2012

В средствах просмотра контактов по умолчанию не отображаются настраиваемые поля.

Есть некоторые сторонние приложения, которые показывают пользовательские поля, бесплатное (но реклама поддерживается) здесь

0 голосов
/ 22 мая 2012

К сожалению, я не нашел реального решения для этого. Но две вещи уменьшают проблему:

Эта проблема появилась только на моем старом HTC Desire. На моих сестрах HTC Sensation настраиваемое поле отображается как положено (хороший отказ от HTC при первой попытке oO)

Еще лучше то, что намерение, которое будет запущено через это настраиваемое поле, также отображается в QuickContactBadge, который используется родным приложением HTC Contacts даже в моем HTC Desires Sense. Поэтому пользователь может вызывать мою активность через QuickContactBadge в старых версиях Senses, а в новых версиях он также может использовать настраиваемое поле.

...