Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Sistemas Computacionales
Objetivo
Realizar una aplicación en Android que permita responder de manera automática con un SMS,
cuando entre la llamada de un número específico. El texto de la respuesta automática se ingresa
en la aplicación, así como el número al que se le responderá.
Material
- Laptop
- Android Studio
- Emulador Nox
- SmartPhone
Marco Teórico
Un Broadcast Receiver es el componente que está destinado a recibir y responder ante eventos
globales generados por el sistema, como un aviso de batería baja, un SMS recibido, un SMS
enviado, una llamada, un aviso de de la tajea SD, etc. y también a eventos producidos por otras
aplicaciones.
Para crear un Broadcast Receiver simplemente tenemos que crear una clase que herede de
BroadcastReceiver y sobrescribir el método onReceive () que es el método que se ejecutará cada
vez que se produzca el evento al que este suscrito nuestro broadcast receiver. Es importante tener
en cuenta que dentro del método onReceive () no se deben de llevar a cabo operaciones que se
lleven mucho tiempo ni operaciones de persistencia.
Coordinación de Ingeniería en
Sistemas Computacionales
Además de crear el Broadcast Receiver es necesario registrarlo en la aplicación como tal para lo
que tenemos dos posibilidades:
Desarrollo
MAIN ACTIVITY
En este fragmento de código se declaran las variables que sirven para instanciar los widgets que
declaramos en el layout, con dichas variables podremos obtener algunos valores que nos
interesan verificar si estan llenos los campos.
Coordinación de Ingeniería en
Sistemas Computacionales
En este fragmento de código se asocian las variables que declaramos anteriormente con los
widgets que se encuentran en el layout. Aquí también se valida si los permisos de mandar un
mensaje SMS y de leer el estado del teléfono cuando se realiza una llamada han sido permitidos y
en caso de que el usuario los haya rechazado se le vuelve a preguntar que si desea dar los
permisos antes mencionados a la aplicación.
Coordinación de Ingeniería en
Sistemas Computacionales
Los siguientes dos métodos contienen el código que sirve para que la variable de tipo
mTelephonyManager escuche el estado de la llamada, aunque la aplicación se encuentre en los
estados onPause y en onStop.
Coordinación de Ingeniería en
Sistemas Computacionales
El método send es el encargado de mandar el mensaje al número telefónico que realiza la llamada
entrante, este método verifica que el número de telefono que se coloca en el widget EditText
coincida con el número telefonico que esta realizando la llamda, en caso de que coincida y que el
texto del mensaje que se desea enviar a este dispositivo no este vacio, el mensaje se envia
automaticamente al número telefónico que esta realizando la llamada entrante.
El método checkPermission sirve para verificar si los permisos que se le piden al usuario han sido
o no concedidos.
Coordinación de Ingeniería en
Sistemas Computacionales
LlamadaEntrante
El método OnReceive sireve para verificar el estado de la llamada, en este método se imprime un
mensaje que dice si la llamda es contestada, entrante o finalizada.
Coordinación de Ingeniería en
Sistemas Computacionales
ActivityDato
Conclusiones
El diseño de una aplicación que utiliza Broadcast Receiver es muy interesante porque podemos
generar acciones o eventos al instante cuando se cumple una cierta condición sin importar que
proceso esté realizando el usuario en el dispositivo móvil porque el Broadcast Receiver ejecutara
esa acción por encima de cualquier otra, el claro ejemplo es esta aplicación que manda un
mensaje al número telefónico del que está entrando la llamada automáticamente sin que el
usuario tenga que preocuparse por redactar nuevamente el mensaje y mandárselo al número
telefónico que lo llamo, por eso son muy útil e importante el uso de los Broadcast Receivers en
una aplicación móvil.
Coordinación de Ingeniería en
Sistemas Computacionales
Bibliografía
REFERENCIAS
https://developer.android.com/guide/components/broadcasts