Cómo capturar un mensaje de texto entrante

Quiero ser capaz de controlar los mensajes de texto entrantes. Mi aplicación todavía está en una "prueba de concepto" de la versión y estoy tratando de aprender la programación de Android como voy.

Primero mi aplicación necesita capturar mensajes de texto entrantes. Y si el mensaje es de un número conocido, tratar con él. Si no es así, envíe el mensaje ya que no ha sucedido nada a la aplicación de mensajes de texto predeterminada.

No tengo ninguna duda de que se puede hacer, pero todavía tengo algo de preocupación y veo algunas trampas en cómo se hacen las cosas en Android.

Así que conseguir el mensaje de texto incomming podría ser bastante fácil – excepto cuando hay otras aplicaciones de mensajería instalada y tal vez el usuario quiere tener mensajes de texto normal para aparecer en uno de ellos – y lo hará, después de mi aplicación ha tenido un vistazo primero.

¿Cómo estar seguro de que mi aplicación obtiene la primera selección de mensajes de texto entrantes?

Y después de eso tengo que enviar la mayoría de los mensajes de texto a través de cualquier otra aplicación de texto que el usuario ha elegido para que el usuario pueda leer el mensaje que mi aplicación no necesita.

Dado que Android utiliza intentos que son relativos en el mejor de los casos, no veo cómo puedo aplicar mi aplicación para echar un vistazo a todos los mensajes de texto entrantes, y luego detenerlo o enviarlo a través de la aplicación de mensajería de texto predeterminada …

Espen,

La respuesta a esto es multi-parte. Comprender primero que nuestra empresa ha resuelto este problema, pero la solución es temporalmente propietario, por lo que responderé lo que pueda sin causar conflicto, ya sea aquí o para mi empresa.

1) Usted nunca puede asegurar que su aplicación nunca obtiene la primera selección. Lo que usted puede hacer es hacer su procesamiento "lo suficientemente rápido" que no importa.

2) Los intentos SON un absoluto si usted fuerza el problema. Nuestra empresa utiliza un concepto llamado enrutamiento de intención. Esto asegura que los datos se envían a la aplicación adecuada. La idea más básica es que cuando recibas el SMS, creas un Nuevo Propósito (no el mismo) y lo envías directamente a la clase. Esto tiene algunas consideraciones especiales, pero debe darle alguna dirección.

Desafortunadamente, sin violar la confianza de mi empresa o las políticas de stackoverflow, no puedo decir más públicamente hasta que la solución se publique (en el próximo mes).

FuzzicalLogic

Retriving todos los mensajes entrantes es sólo la configuración de escucha, puede hacerlo fácilmente ver aquí

Y después de eso, su multa si está en fase de no hacer nada, pero en caso de que quiera evitar sms para ir a la aplicación de mensajes nativos no es recomendable para evitar que el usuario.

Mejor que esperar un tiempo y luego eliminar el mismo de la base de datos de SMS.

  • Androide. Seleccionador de intenciones personalizadas
  • Conexión profunda de Android a una aplicación
  • Cómo encontrar la categoría de aplicación instalada de PackageInfo en android
  • Receptor Android BroadCast para vibración y silencio
  • No puedo pasar demasiado grande arraylist de objetos entre 2 actividades?
  • Compartir imagen sin WRITE_EXTERNAL_STORAGE?
  • ¿Cómo puedo pasar datos a una sola actividad de tarea después de la primera vez que se carga
  • Al crear una intención de Android y especificar la actividad de destino, ¿cuál es esta sintaxis ".class"?
  • Usar putExtra para pasar valores al servicio de intenciones
  • OnActivityResult no funciona (Android)
  • Relación de Intención y Bundle
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.