Cómo consultar el MMS Iniciar sesión en Android

En mi aplicación tengo que consultar tanto el SMS y el registro MMS para obtener el historial de todos los mensajes entrantes y salientes. Este código ha funcionado maravillosamente para SMS:

Cursor c = cr.query(Uri.parse("content://sms"), null, null, null, null); 

Pero cuando intento lo siguiente obtengo resultados completamente diferentes:

 Cursor c = cr.query(Uri.parse("content://mms"), null, null, null, null); 

La consulta SMS devuelve datos que incluyen la dirección del mensaje (número de teléfono), el nombre del contacto, el asunto del mensaje, el cuerpo del mensaje, etc … La misma consulta para MMS devuelve un grupo de nulos o campos de valores numéricos que no puedo hacer ningún sentido de. Realmente necesito una lista de todos los mensajes MMS actualmente en el teléfono con el número de teléfono o el ID de contacto asociado con él, y si el mensaje era un mensaje entrante o saliente. En los resultados de la consulta del SMS puedo conseguir el número de teléfono del campo de la address , y el tipo entrante / saliente del campo del type pero ninguno de éstos existe cuando hago la pregunta para MMS.

¿Hay un Uri de contenido diferente que necesito consultar para este tipo de datos MMS? Cualquier ayuda sería muy apreciada.

Editar: Sólo para aclarar, soy completamente consciente de que este es un proveedor de contenido no compatible. Sin embargo, ya que no hay ninguna forma compatible de hacer esto estoy totalmente dispuesto a probar y apoyar esto en una base de versión de teléfono / por OS. Sólo para mantener la discusión en la pista permite decir esta pregunta es específica de Android 1.6 en un HTC Dream (G1) o HTC Magic (MyTouch). ¿Cómo realizarías esta tarea en esa versión específica del teléfono y del sistema operativo? O si no es posible en esos, pero es posible en Android 2.0 en un Motorola Droid, entonces yo encontraría que la información muy útil también. Pero, independientemente, vamos a pegarse a la discusión de cómo llevar a cabo esta tarea de una manera soportada o no soportada y no dejar que se convierten en una discusión de cómo debemos todos alejarnos de las cosas que no son compatibles con la API, que es algo que yo Encontrar los grupos de discusión Android a ser acribillado con y que me siento ofrece poca o ninguna ayuda en absoluto. Si utilizo un método no admitido, está bien, muéstrame el método compatible para llevar a cabo esa tarea. Si no hay un método compatible, ¿por qué la API me permite solicitar permiso para leer SMS a través de android.permission.READ_SMS?

Estos son los uris contenido que he usado en el pasado. Tendrás que jugar con los valores que recuperas, y está muy lejos de conseguir las partes de un MMS, pero espero que ayude.

 // root URI for MMS messages static final String MMS_CONTENT_URI = "content://mms"; // root URI for MMS and SMS threads public static final String MMS_SMS_CONTENT_URI = "content://mms-sms"; // URI of MMS inbox public static final String RECEIVED_MMS_CONTENT_URI = MMS_CONTENT_URI + "/inbox"; // URI where sent MMSes are stored public static final String SENT_MMS_CONTENT_URI = MMS_CONTENT_URI + "/sent"; // URI where sent MMSes are stored public static final String MMS_PART_URI = MMS_CONTENT_URI + "/part"; // URI for incoming SMSes (also triggers on MMSes) public static final String SMS_INBOX_URI = "content://sms/inbox"; 
  • Volver a Actividad después de completar la acción en Android?
  • Detectar qué tarjeta SIM ha recibido el mensaje
  • Android enviar SMS automáticamente al hacer clic en el botón
  • Verificar el usuario durante la suscripción enviando y recibiendo sms a través de Twilio
  • Mover un mensaje a la bandeja de entrada desde la base de datos
  • Android - constantes de tipo sms
  • Puedo enviar "SMS recibido intención"?
  • Configuración única de Android SMS
  • Iniciar la aplicación sms con una intención
  • Interceptar SMS salientes
  • Android: determinar por qué no se pudo enviar SMS
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.