Android 1.x Contacts.Extensions para un tipo de cuenta personalizada?

Estoy escribiendo una aplicación de redes sociales que tiene la funcionalidad de sincronización de contactos. Tengo el código de trabajo (de un ejemplo que encontré aquí ) que inserta contactos en v2.x en un adaptador de la sinc.

Sin embargo, el software Motorola Blur no reconoce los contactos 2.x (estoy usando una versión 2.2 de Moto en un Droid X). Blur utiliza los contactos 1.x API, pero tengo problemas para encontrar / entender ejemplos de cómo usarlo. Esta página muestra cómo consultar por nombre, pero quiero a) añadir y b) consultar por un tipo de cuenta personalizada (o potencialmente MIME).

El código v2 que estoy usando crea un nuevo contacto sin formato, crea un registro de datos "StructuredName" y, a continuación, un registro de datos de tipo MIME personalizado.

¿Cómo hago el equivalente en la API 1.x (nivel 3)? Creo que esto es para lo que está la clase Contacts.Extensions, pero la documentación no es clara en el mejor de los casos.

Las modificaciones de los contactos de Motorola BLUR tienen más que ver con cómo se administran las cuentas en el dispositivo y menos con los cambios en el proveedor de contenido. El problema real cuando se trabaja con un dispositivo Motorola BLUR es que es necesario establecer ACCOUNT_NAME y ACCOUNT_TYPE en un valor que reproduzca bien con el dispositivo.

Motorola no es el único dispositivo para el que se trata de un problema como en mi trabajo he encontrado otros dispositivos cuyas aplicaciones de contactos no juegan bien con los registros que se agregan a las cuentas personalizadas en el dispositivo.

Durante la instalación, tendrá que determinar qué tipo de dispositivo está ejecutando y, a continuación, determinar qué cuenta utilizará para almacenar sus contactos. He encontrado excepciones para los dispositivos Samsung Galaxy, HTC Sense y MOTOBLUR para los que el uso de una cuenta de contacto personalizada no permite trabajar con tus contactos en la aplicación de contacto (por ejemplo, puedes agregarlos, pero no editarlos o no Incapaz de insertar nuevos registros en su cuenta).

No puedo compartir código porque pertenece a mi trabajo, pero puedo decirte que si usas la siguiente cuenta para tus contactos en dispositivos MOTOBLUR funcionará. Los dispositivos de Motorola en Verizon tienen una cuenta de asistente de copia de seguridad que funciona muy bien y de otro modo uso la cuenta BLUR por defecto que parece funcionar bien.

Busque una cuenta en el dispositivo con el tipo com.motorola.android.buacontactadapter y un nombre de "Phone" y use eso. Si no está presente, busque una cuenta del tipo com.motorola.blur.service.bsutils.MOTHER_USER_CREDS_TYPE y utilícela (con cualquiera que sea su nombre) y todo estará configurado en dispositivos Motorola.

Si compartes algo de tu código o un enlace al ejemplo que has mencionado, estaría encantado de bucear más profundo.

Para abordar el final de su pregunta:

Esta infraestructura sólo es compatible con la estructura de contactos 2.x, que es cuando se presentó.

Las aplicaciones de contactos OEM en dispositivos 1.X pueden o no funcionar de forma similar.

  • Varias llamadas a CountDownLatch.await (int) con tiempo de espera
  • Cuándo utilizar sincronizado en Java
  • Cómo sincronizar contactos de teléfono en gmail en android mediante programación utilizando google contactos api
  • Cómo utilizar el valor devuelto de AlertDialog
  • Añadir cuenta automáticamente
  • ¿Cómo recuperar el tiempo de 'última sincronización' para una cuenta?
  • Error al realizar sincronización periódica
  • SyncAdapter siempre en estado pendiente
  • Android JobScheduler se ejecuta demasiado a menudo cuando se utiliza setPeriodic ()
  • SQLite en Android y MongoDB con sincronización
  • ¿Cómo notificar a la actividad de llamada cuando SyncAdapter ha finalizado?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.