Domanda

Ho scritto un syncadapter personalizzato, che ha anche aggiunto un campo personalizzato a RawContacts. Esattamente come viene fatto in Samplesyncadapter o in questo esempio con l'ultimo.fm-app. E funziona bene sull'emulatore.

Il file XML, che dichiara il mio campo personalizzato:

<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>

Il codice per aggiungere il campo personalizzato al tabella dei dati del contatto-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"));

Ma quando li eseguo sul mio desiderio HTC con HTC Sense installato, non riesco più a vedere questo campo personalizzato?!? Qualcuno ha riscontrato lo stesso problema?

Qualsiasi suggerimento per ottenere il mio campo personalizzato visibile è molto apprezzato!

Saluti Ali3n

È stato utile?

Soluzione 2

Purtroppo non ho trovato una vera soluzione per questo. Ma due cose riducono il problema:

Questo problema è apparso solo sul mio vecchio desiderio HTC. Sulle mie sorelle HTC Sensation il campo personalizzato viene visualizzato come previsto (bel fallimento da HTC nel primo tentativo oo)

Ancora meglio è che l'intento che sarebbe stato avviato tramite questo campo personalizzato si presenta anche in QuickContactBadge, che viene utilizzato dai contatti HTC nativi anche sul mio senso di HTC Desires. Pertanto, l'utente può invocare la mia attività tramite QuickContactBadge sulle versioni di Old Senses e in nuove versioni ha anche la possibilità di utilizzare il campo personalizzato.

Altri suggerimenti

Gli spettatori di contatto predefiniti non mostrano campi personalizzati.

Ci sono alcune app di terze parti che mostrano campi personalizzati, gratuiti (ma supportati da annunci) è qui

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top