Pregunta

Escribí un SyncAdapter personalizado, que también agregó un campo personalizado a los RawContacts. Exactamente cómo se hace en el Sumplesyncadapter o este ejemplo con el último.fm-app. Y está funcionando bien en el emulador.

El archivo XML, que declara mi campo personalizado:

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

El código para agregar el campo personalizado a la tabla de datos del 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"));

Pero cuando los ejecuto en mi deseo HTC con Sense HTC instalado, ¿ya no puedo ver este campo personalizado? Alguien ha experimentado el mismo problema?

¡Cualquier pista para obtener mi campo personalizado visible es muy apreciado!

Saludos ali3n

¿Fue útil?

Solución 2

Lamentablemente, no encontré una solución real para eso. Pero dos cosas reducen el problema:

Este problema solo apareció en mi antiguo deseo HTC. En la sensación de HTC de mis hermanas, el campo personalizado aparece como se esperaba (buen fracaso de HTC en el primer intento oo)

Aún mejor es que la intención que se iniciaría a través de este campo personalizado también aparece en QuickContactBadge, que utiliza la aplicación nativa de contactos HTC incluso en mi sentido de los deseos HTC. Por lo tanto, el usuario puede invocar mi actividad a través de QuickContactBadge en versiones de los sentidos antiguos y en nuevas versiones también tiene la capacidad de usar el campo personalizado.

Otros consejos

Los espectadores de contacto predeterminados no muestran campos personalizados.

Hay algunas aplicaciones de terceros que muestran campos personalizados, uno gratuito (pero admitido AD) es aquí

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top