Respuesta Automática a mensajes de Texto


Este capítulo te guía a través de la creación de Respuesta Automática a mensajes de Texto, mientras se conduce. Reproduce en voz alta los mensajes de texto e incluso envía información sobre la localización, como parte del texto automatizado. La aplicación demuestra cómo puedes controlar
Algunas de las excelentes características de un teléfono con Android, incluyendo mensajes de texto SMS, texto a voz, Datos persistentes, y detección de localización por GPS.

Lo que aprenderás

Esta es una aplicación más compleja que las de los capítulos anteriores, por lo que la construirá una función a la vez, comenzando con el mensaje de respuesta automática. Aprenderás
acerca de:
  • El componente de mensajes de texto para enviar y procesar textos recibidos.
  • Un formulario de entrada para enviar el mensaje de respuesta personalizado.
  • El componente de la base de datos TinyDB para guardar el mensaje personalizado incluso después de La aplicación se cierre
  • El evento Screen.Inicializar para cargar la respuesta personalizada cuando la aplicación
    lanza.
  • El componente TextoAVoz para hablar textos en vozs alta.
  • El componente SensorDeUbicacion para informar la ubicación actual del conductor.

Componentes



Tipo de componente
Nombre
Propósito
Etiqueta
etExplicacion
Permite que el usuario sepa como funciona la aplicación
Etiqueta
etRespuesta
La respuesta que será enviada de forma automática cuando se reciba un mensaje
Caja de Texto
ctNuevaRespuesta
El usuario ingresará la respuesta automática, aquí
Boton
btnActualizaRespuesta
El usuario lo utilizará para actualizar la respuesta.
EnviarTexto
EnviarTexto1
Envía el mensaje de texto
TinyDB
TinyDB1
Almacena las respuestas en una base de datos
TextoAVoz
TextoAVoz1
Lee el texto en voz alta
SensorDeUbicacion
SensorDeUbicacion1
Permite saber la ubicación del celular



Establezca las propiedades de los componentes de la siguiente manera:
  • Establezca el Texto de etExplicacion en "El texto a continuación se enviará en respuesta a todos los SMS recibidos mientras ésta aplicación se está ejecutando".
  • Establezca el texto de etRespuesta en "Estoy conduciendo en este momento, me pondré en contacto con usted a la brevedad.”. Compruebe su propiedad negrita.
  • Establezca el texto de ctNuevaRespuesta en “”. (Esto deja el cuadro de texto en blanco para la entrada del usuario)
  • Establezca la Sugerencia (pista) de ctNuevaRespuesta en "Ingresar nuevo texto de respuesta".
  • Establezca el Texto de btnActualizaRespuesta en "Modificar respuesta".


Modifica el ajuste de los componentes para que sean legibles y se ajusten estéticamente a tus deseos.

Responder un texto automáticamente





Personalizando la respuesta




Almacenando la respuesta de forma Permanente

En el mismo bloque anterior, agregamos el procedimiento para almacenar los datos de forma persistente en la base de datos y una etiqueta que nos permitirá recuperar posteriormente los datos guardados.


Recuperando la respuesta personalizada, desde la base de datos

Cuando la aplicación es ejecutada, se dispara este evento (screen1 – Inicializar). Recuperamos la respuesta personalizada desde la base de datos



Leyendo el mensaje de texto en voz alta

Para poder leer un mensaje de texto, llamaremos a la función TextoAVoz. La agregaremos al bloque que trabajamos al comienzo (enviarTexto1.RecibirMensaje)
En el texto a leer, usaremos como entrada del procedimiento, el mensajeDeTexto recibido. Si dejamos el bloque de este modo, sólo nos leera el mensaje y no sabremos quien lo envio. Podemos modificar el texto a reproducir, agregando el texto “Mensaje recibido de”, el numero que nos envia el mensaje, el texto “El mensaje es” y el mensaje recibido.
Para poder hacerlo, utilizamos el bloque unir que se encuentra en los bloques de texto.
Una vez aplicados los cambios, el bloque quedaría así

Para agregar mas cadenas al bloque unir, debes hacer clic en el engranaje y en la ventana emergente arrastrar el bloque cadena (que se encuentra solo), dentro del bloque unir

Agregando la Información de localización a la respuesta personalizada

Utilizaremos una variable ultimaLocalizacionConocida y la inicializaremos con desconocida. Luego cada vez que la posición del celular se modifique, actualizaremos la ubicación.


Posteriormente en el bloque de EnviarTexto1, agregaremos la opción de que envíe nuestra ubicación, con la dirección en la que estamos.


Algunas variaciones de esta aplicación que podemos explorar son:
  • Una versión que le permita al usuario definir respuestas personalizadas para una números de teléfono en particular. Deberá agregar bloques condicionales (si) que verifiquen esos números.
  • Una versión que envíe respuestas personalizadas en función de si el usuario está dentro Ciertos límites de latitud / longitud. En una ubicación predeterminada, como el club, la escuela, o el lugar que tu decidas, la respuesta sea "Carlos está en (la ubicación que decidiste) y no puede enviar mensajes de texto en este momento".
  • Una versión que haga sonar una alarma cuando se reciba un texto de un número en una
    Lista de "notificaciones".


En el siguiente enlace puedes descargar el archivo PDF

Comentarios