***Proyecto PAPIIT IN102210***
UNAM. Facultad de Ingeniería.
Integrantes:
JUAN JOSE CARREON
J. ULISES GONZALEZ MEDINA
ANA LAURA GARCÍA ACOSTA
OMAR SIBAJA BAUTISTA
ROBERTO SOSA HIGAREDA
Este documento proporciona una lista de códigos secretos para teléfonos celulares de diferentes marcas como Nokia, Samsung, Airtel e IDEA. Algunos de estos códigos permiten activar o desactivar funciones como llamadas en espera, ver el saldo o la versión del software. Otros códigos desbloquean menús ocultos con información técnica del teléfono o restablecen configuraciones de fábrica.
The document defines an IntentService class called MiIntentService that performs a long-running task. It broadcasts progress updates using actions defined as constants. A ProgressReceiver broadcasts listens for these updates and updates the progress bar. The MainActivity starts the service by creating an intent with extra data and calling startService, which triggers the IntentService to run and broadcast progress until completion.
The document provides an overview of the Android operating system across 4 sections:
1) Basics covering the history, architecture, and core components of Android.
2) Application concepts including the application structure, activities, intents, and the manifest file.
3) Beyond basics on telephony, storage, content providers, and network services.
4) Advanced domains focusing on services, audio/video, cameras, sensors, and future technologies.
This document discusses various types of services in Android, including IntentService, which handles asynchronous tasks on a worker thread; starting and stopping services; bound services that can be bound and unbound; isolated services that run in separate processes; exported services that can be accessed by other apps; and using notifications with services. The key points are: IntentService offloads tasks to a worker thread; services can be started and stopped or bound and unbound; isolated services run separately for security; exported services allow inter-app communication; and notifications are used to show status from long-running services.
1) Intents represent requests for actions to be performed, while Intent Filters register which app components can handle certain actions and types of data.
2) Broadcast receivers listen for broadcast intents and allow interaction between app components.
3) Intents are used to start activities, broadcast messages, and launch other apps like the Android Market. Intent Filters are required for intent resolution and matching intents to the correct components.
This document discusses intents in Android development. It covers defining intents in XML layout files like activity_main.xml and second.xml. It also discusses implementing intents in Java classes like MainActivity.java and SecondActivity.java. Finally, it discusses using intents to pass data between activities.
Este documento describe conceptos básicos de telefonía móvil como redes GSM, tarjetas SIM e información que se puede obtener de un dispositivo Android sobre el estado del teléfono y la red a través de la clase TelephonyManager. También explica cómo escuchar los cambios en el estado de llamada usando un PhoneStateListener y realizar llamadas mediante Intents. Por último, introduce brevemente los mensajes SMS.
La telefonía móvil 2G representa los estándares y sistemas digitales de banda estrecha, incluyendo IS-136, GSM e IS-95. GSM es el estándar más extendido mundialmente, con casi 5.000 millones de usuarios. Las redes GSM se basan en dividir el área de cobertura en celdas con estaciones base en cada una.
Este documento proporciona una lista de códigos secretos para teléfonos celulares de diferentes marcas como Nokia, Samsung, Airtel e IDEA. Algunos de estos códigos permiten activar o desactivar funciones como llamadas en espera, ver el saldo o la versión del software. Otros códigos desbloquean menús ocultos con información técnica del teléfono o restablecen configuraciones de fábrica.
The document defines an IntentService class called MiIntentService that performs a long-running task. It broadcasts progress updates using actions defined as constants. A ProgressReceiver broadcasts listens for these updates and updates the progress bar. The MainActivity starts the service by creating an intent with extra data and calling startService, which triggers the IntentService to run and broadcast progress until completion.
The document provides an overview of the Android operating system across 4 sections:
1) Basics covering the history, architecture, and core components of Android.
2) Application concepts including the application structure, activities, intents, and the manifest file.
3) Beyond basics on telephony, storage, content providers, and network services.
4) Advanced domains focusing on services, audio/video, cameras, sensors, and future technologies.
This document discusses various types of services in Android, including IntentService, which handles asynchronous tasks on a worker thread; starting and stopping services; bound services that can be bound and unbound; isolated services that run in separate processes; exported services that can be accessed by other apps; and using notifications with services. The key points are: IntentService offloads tasks to a worker thread; services can be started and stopped or bound and unbound; isolated services run separately for security; exported services allow inter-app communication; and notifications are used to show status from long-running services.
1) Intents represent requests for actions to be performed, while Intent Filters register which app components can handle certain actions and types of data.
2) Broadcast receivers listen for broadcast intents and allow interaction between app components.
3) Intents are used to start activities, broadcast messages, and launch other apps like the Android Market. Intent Filters are required for intent resolution and matching intents to the correct components.
This document discusses intents in Android development. It covers defining intents in XML layout files like activity_main.xml and second.xml. It also discusses implementing intents in Java classes like MainActivity.java and SecondActivity.java. Finally, it discusses using intents to pass data between activities.
Este documento describe conceptos básicos de telefonía móvil como redes GSM, tarjetas SIM e información que se puede obtener de un dispositivo Android sobre el estado del teléfono y la red a través de la clase TelephonyManager. También explica cómo escuchar los cambios en el estado de llamada usando un PhoneStateListener y realizar llamadas mediante Intents. Por último, introduce brevemente los mensajes SMS.
La telefonía móvil 2G representa los estándares y sistemas digitales de banda estrecha, incluyendo IS-136, GSM e IS-95. GSM es el estándar más extendido mundialmente, con casi 5.000 millones de usuarios. Las redes GSM se basan en dividir el área de cobertura en celdas con estaciones base en cada una.
Este documento describe un dispositivo de llamada que permite a usuarios realizar llamadas gratuitas de aproximadamente 1 minuto y 30 segundos a través de la tecnología GSM. El dispositivo fue desarrollado para ayudar a personas de bajos recursos que no tienen acceso a teléfonos celulares o planes de llamadas. Funciona conectándose a las redes telefónicas del país y usa un módulo GSM controlado por un microcontrolador para establecer las llamadas.
Este documento presenta un curso de reparación de teléfonos celulares. Explica que el curso enseña a los estudiantes todo lo necesario para iniciar una carrera en reparación de teléfonos celulares a través de una serie de capítulos. También describe algunas de las herramientas básicas necesarias para comenzar y explica brevemente cómo funcionan los teléfonos celulares a través de diagramas de bloques.
Este documento describe cómo un atacante podría realizar un ataque de intermediario entre dos partes (MITM) en una red GSM para obtener información confidencial de usuarios, como su número IMSI, e interceptar transacciones como la compra de juegos. Explica que se puede acceder a la identidad del dispositivo móvil (IMEI) y del usuario (IMSI) en teléfonos Android rooteados. También describe cómo hacer consultas a la base de datos HLR para obtener un IMSI a partir de un número de teléfono, y analizar una aplicación de comp
El documento describe la historia y desarrollo del estándar GSM para comunicaciones móviles en Europa. En los años 80, la CEPT estableció el Grupo Especial Móvil para desarrollar estándares paneuropeos y reservar frecuencias. El estándar GSM se adoptó para resolver problemas de incompatibilidad entre países. Actualmente, GSM es el estándar digital más adoptado a nivel mundial para telefonía móvil.
Security in GSM networks -- Seguridad en redes GSM -- SPSI -- ETSIIT-UGR José López Pérez
Monografía, que aborda el tema de la seguridad en redes GSM, destacando las vulnerabilidades de GSM, los ataques que explotan dichas vulnerabilidades y algunas soluciones o herramientas para hacer las comunicaciones móviles seguras.
La telefonía móvil consiste en una red de estaciones transmisoras que permiten la comunicación entre teléfonos móviles y centrales telefónicas. Los teléfonos se comunican con las estaciones base cercanas y la red transfiere las llamadas de una estación a otra de forma transparente al usuario cuando se mueve. La tecnología ha evolucionado desde los primeros teléfonos grandes y pesados hasta los actuales más pequeños con funciones como internet, cámara y GPS.
Las redes móviles han experimentado un gran auge desde la década de 1980 debido a la reducción de costos de los servicios y terminales. La tecnología celular divide el territorio en celdas atendidas por estaciones base, lo que permite una gran capacidad de usuarios y cobertura amplia. Las redes móviles han evolucionado desde los sistemas analógicos 1G a los digitales 2G (GSM), 3G y 4G (LTE). El estándar GSM introdujo medidas de seguridad como la autenticación del usuario y cifrado
Sistema global de comunicaciones móviles (gsm)dalianaarias
El documento describe el Sistema Global de Comunicaciones Móviles (GSM), el estándar más utilizado para redes de telefonía móvil en Europa. GSM es un estándar digital de segunda generación que opera en las bandas de frecuencia de 900MHz y 1800MHz en Europa y 1900MHz en Estados Unidos. La red GSM está compuesta por terminales móviles, estaciones base y un centro de conmutación móvil que conecta las llamadas a la red telefónica pública. Cada terminal móvil contiene una tarjeta SIM que almacena información de
El documento habla sobre la seguridad en las comunicaciones móviles de cuarta generación. Explica que la telefonía móvil se ha vuelto una herramienta importante en la vida diaria. Resume los avances tecnológicos de las redes celulares desde la primera generación analógica hasta la actual cuarta generación digital. Describe aspectos clave de la seguridad en las redes GSM como la autenticación del usuario y el cifrado de comunicaciones.
El documento describe las tecnologías WAP y GSM. WAP surgió para crear un estándar que permita aplicaciones móviles aprovechando las limitaciones de las redes móviles. Fue creado por empresas como Ericsson y AT&T en 1997. GSM es un sistema digital que permite roaming internacional y soporta hasta 8 conversaciones simultáneas por canal. Ambas tecnologías permiten el acceso a Internet y servicios desde dispositivos móviles.
Este documento describe el uso de Arduino y sus shields para proyectos de Internet de las Cosas. Explica cómo Arduino puede conectarse a Internet a través de shields de Ethernet, WiFi y GSM, y cómo puede usarse para monitoreo remoto, aplicaciones domóticas y más. También describe cómo Arduino puede comunicarse con servidores web y bases de datos para almacenar y acceder a datos de forma remota.
El documento describe la historia y evolución de los teléfonos celulares. Comenzó con el primer teléfono celular presentado por Motorola en 1973. Luego, los teléfonos celulares evolucionaron a través de varias generaciones, agregando nuevas funciones y tecnologías como GSM, GPRS, UMTS y más. Hoy en día, los teléfonos celulares son dispositivos multifuncionales que permiten llamadas, mensajes, Internet, música y más.
El documento describe los diferentes tipos de análisis realizados en informática forense, incluyendo el análisis de dispositivos móviles, computadoras, sistemas de video vigilancia, la nube, y redes. También describe el hardware y software utilizado para dichos análisis.
Este documento describe los principales componentes y tecnologías de la telefonía móvil automática, incluyendo las células, centrales de telefonía móvil, estaciones base, estaciones móviles, comparación de compañías móviles, mapas de antenas, bandas de frecuencias, servicios GSM, GPRS, UMTS, LTE, HSPA+, DECT, WIMAX, LMDS, GPS y edición de fotos móviles con Picasa.
Este documento proporciona una introducción a la telefonía móvil, incluyendo definiciones de sistemas celulares, estaciones base, centrales de telefonía móvil y estaciones móviles. También describe varias tecnologías como GSM, GPRS, UMTS, LTE y más. Finalmente, incluye actividades comparando tarifas de compañías y frecuencias utilizadas, así como definiciones de dispositivos inteligentes como smartphones, tabletas y netbooks.
Este documento presenta el capítulo 1 de un curso sobre reparación de celulares. Explica cómo funciona un teléfono celular a través de diagramas de bloques, describiendo las áreas de RF, AF y lógica. También detalla las herramientas necesarias para reparaciones a nivel de hardware y software, así como medidas de seguridad para el taller. Por último, indica condiciones para el correcto funcionamiento de un celular.
El documento describe la solución Cellcrypt Mobile para realizar llamadas seguras desde teléfonos móviles comunes a través de redes satelitales. Cellcrypt Mobile permite llamadas encriptadas de alta calidad entre dispositivos móviles a través de redes satelitales sin necesidad de equipos adicionales. La solución está certificada por el gobierno de EE.UU. para proporcionar seguridad en las comunicaciones.
El documento proporciona información sobre la evolución de la telefonía móvil a lo largo de los años. Explica que la telefonía móvil está formada por una red de comunicaciones y teléfonos móviles, y describe la evolución tecnológica desde las primeras redes analógicas hasta las actuales redes digitales. También resume los principales hitos en el desarrollo de los teléfonos celulares y sus funcionalidades avanzadas en dispositivos inteligentes.
El documento habla sobre los sistemas de comunicaciones móviles 2.5G, 3G y 3.5G como GPRS, EDGE, UMTS y HSDPA. Explica los componentes clave de un sistema de comunicaciones móviles como fabricantes, operadores, proveedores de servicio y clientes. También describe los diferentes tipos de telefonía móvil incluyendo las velocidades de transferencia de datos de cada sistema.
Este documento describe cómo los dispositivos móviles están transformando la forma en que las personas acceden a servicios de salud, educación y bienestar económico. Los teléfonos inteligentes y tabletas ahora superan a las PC en versatilidad y están cambiando la forma en que se innova y crean nuevos productos. Las aplicaciones móviles representan estos cambios al proporcionar acceso compacto e instantáneo a la información de una manera simple y barata.
Este documento discute cómo los cambios tecnológicos y la globalización están alterando el mercado laboral. Esto ha elevado la tasa natural de desempleo significativamente por encima de su tendencia histórica. Para reducirla, se requerirán reformas estructurales como capacitación para nuevas habilidades. Las redes sociales profesionales como LinkedIn ahora son parte integral del mercado laboral, con más de 120 millones de usuarios que recomiendan empleadores y empleados de manera más efectiva que métodos convencionales.
Este documento describe un dispositivo de llamada que permite a usuarios realizar llamadas gratuitas de aproximadamente 1 minuto y 30 segundos a través de la tecnología GSM. El dispositivo fue desarrollado para ayudar a personas de bajos recursos que no tienen acceso a teléfonos celulares o planes de llamadas. Funciona conectándose a las redes telefónicas del país y usa un módulo GSM controlado por un microcontrolador para establecer las llamadas.
Este documento presenta un curso de reparación de teléfonos celulares. Explica que el curso enseña a los estudiantes todo lo necesario para iniciar una carrera en reparación de teléfonos celulares a través de una serie de capítulos. También describe algunas de las herramientas básicas necesarias para comenzar y explica brevemente cómo funcionan los teléfonos celulares a través de diagramas de bloques.
Este documento describe cómo un atacante podría realizar un ataque de intermediario entre dos partes (MITM) en una red GSM para obtener información confidencial de usuarios, como su número IMSI, e interceptar transacciones como la compra de juegos. Explica que se puede acceder a la identidad del dispositivo móvil (IMEI) y del usuario (IMSI) en teléfonos Android rooteados. También describe cómo hacer consultas a la base de datos HLR para obtener un IMSI a partir de un número de teléfono, y analizar una aplicación de comp
El documento describe la historia y desarrollo del estándar GSM para comunicaciones móviles en Europa. En los años 80, la CEPT estableció el Grupo Especial Móvil para desarrollar estándares paneuropeos y reservar frecuencias. El estándar GSM se adoptó para resolver problemas de incompatibilidad entre países. Actualmente, GSM es el estándar digital más adoptado a nivel mundial para telefonía móvil.
Security in GSM networks -- Seguridad en redes GSM -- SPSI -- ETSIIT-UGR José López Pérez
Monografía, que aborda el tema de la seguridad en redes GSM, destacando las vulnerabilidades de GSM, los ataques que explotan dichas vulnerabilidades y algunas soluciones o herramientas para hacer las comunicaciones móviles seguras.
La telefonía móvil consiste en una red de estaciones transmisoras que permiten la comunicación entre teléfonos móviles y centrales telefónicas. Los teléfonos se comunican con las estaciones base cercanas y la red transfiere las llamadas de una estación a otra de forma transparente al usuario cuando se mueve. La tecnología ha evolucionado desde los primeros teléfonos grandes y pesados hasta los actuales más pequeños con funciones como internet, cámara y GPS.
Las redes móviles han experimentado un gran auge desde la década de 1980 debido a la reducción de costos de los servicios y terminales. La tecnología celular divide el territorio en celdas atendidas por estaciones base, lo que permite una gran capacidad de usuarios y cobertura amplia. Las redes móviles han evolucionado desde los sistemas analógicos 1G a los digitales 2G (GSM), 3G y 4G (LTE). El estándar GSM introdujo medidas de seguridad como la autenticación del usuario y cifrado
Sistema global de comunicaciones móviles (gsm)dalianaarias
El documento describe el Sistema Global de Comunicaciones Móviles (GSM), el estándar más utilizado para redes de telefonía móvil en Europa. GSM es un estándar digital de segunda generación que opera en las bandas de frecuencia de 900MHz y 1800MHz en Europa y 1900MHz en Estados Unidos. La red GSM está compuesta por terminales móviles, estaciones base y un centro de conmutación móvil que conecta las llamadas a la red telefónica pública. Cada terminal móvil contiene una tarjeta SIM que almacena información de
El documento habla sobre la seguridad en las comunicaciones móviles de cuarta generación. Explica que la telefonía móvil se ha vuelto una herramienta importante en la vida diaria. Resume los avances tecnológicos de las redes celulares desde la primera generación analógica hasta la actual cuarta generación digital. Describe aspectos clave de la seguridad en las redes GSM como la autenticación del usuario y el cifrado de comunicaciones.
El documento describe las tecnologías WAP y GSM. WAP surgió para crear un estándar que permita aplicaciones móviles aprovechando las limitaciones de las redes móviles. Fue creado por empresas como Ericsson y AT&T en 1997. GSM es un sistema digital que permite roaming internacional y soporta hasta 8 conversaciones simultáneas por canal. Ambas tecnologías permiten el acceso a Internet y servicios desde dispositivos móviles.
Este documento describe el uso de Arduino y sus shields para proyectos de Internet de las Cosas. Explica cómo Arduino puede conectarse a Internet a través de shields de Ethernet, WiFi y GSM, y cómo puede usarse para monitoreo remoto, aplicaciones domóticas y más. También describe cómo Arduino puede comunicarse con servidores web y bases de datos para almacenar y acceder a datos de forma remota.
El documento describe la historia y evolución de los teléfonos celulares. Comenzó con el primer teléfono celular presentado por Motorola en 1973. Luego, los teléfonos celulares evolucionaron a través de varias generaciones, agregando nuevas funciones y tecnologías como GSM, GPRS, UMTS y más. Hoy en día, los teléfonos celulares son dispositivos multifuncionales que permiten llamadas, mensajes, Internet, música y más.
El documento describe los diferentes tipos de análisis realizados en informática forense, incluyendo el análisis de dispositivos móviles, computadoras, sistemas de video vigilancia, la nube, y redes. También describe el hardware y software utilizado para dichos análisis.
Este documento describe los principales componentes y tecnologías de la telefonía móvil automática, incluyendo las células, centrales de telefonía móvil, estaciones base, estaciones móviles, comparación de compañías móviles, mapas de antenas, bandas de frecuencias, servicios GSM, GPRS, UMTS, LTE, HSPA+, DECT, WIMAX, LMDS, GPS y edición de fotos móviles con Picasa.
Este documento proporciona una introducción a la telefonía móvil, incluyendo definiciones de sistemas celulares, estaciones base, centrales de telefonía móvil y estaciones móviles. También describe varias tecnologías como GSM, GPRS, UMTS, LTE y más. Finalmente, incluye actividades comparando tarifas de compañías y frecuencias utilizadas, así como definiciones de dispositivos inteligentes como smartphones, tabletas y netbooks.
Este documento presenta el capítulo 1 de un curso sobre reparación de celulares. Explica cómo funciona un teléfono celular a través de diagramas de bloques, describiendo las áreas de RF, AF y lógica. También detalla las herramientas necesarias para reparaciones a nivel de hardware y software, así como medidas de seguridad para el taller. Por último, indica condiciones para el correcto funcionamiento de un celular.
El documento describe la solución Cellcrypt Mobile para realizar llamadas seguras desde teléfonos móviles comunes a través de redes satelitales. Cellcrypt Mobile permite llamadas encriptadas de alta calidad entre dispositivos móviles a través de redes satelitales sin necesidad de equipos adicionales. La solución está certificada por el gobierno de EE.UU. para proporcionar seguridad en las comunicaciones.
El documento proporciona información sobre la evolución de la telefonía móvil a lo largo de los años. Explica que la telefonía móvil está formada por una red de comunicaciones y teléfonos móviles, y describe la evolución tecnológica desde las primeras redes analógicas hasta las actuales redes digitales. También resume los principales hitos en el desarrollo de los teléfonos celulares y sus funcionalidades avanzadas en dispositivos inteligentes.
El documento habla sobre los sistemas de comunicaciones móviles 2.5G, 3G y 3.5G como GPRS, EDGE, UMTS y HSDPA. Explica los componentes clave de un sistema de comunicaciones móviles como fabricantes, operadores, proveedores de servicio y clientes. También describe los diferentes tipos de telefonía móvil incluyendo las velocidades de transferencia de datos de cada sistema.
Similar a "Android de la A a la Z" -- Unidad 11 (20)
Este documento describe cómo los dispositivos móviles están transformando la forma en que las personas acceden a servicios de salud, educación y bienestar económico. Los teléfonos inteligentes y tabletas ahora superan a las PC en versatilidad y están cambiando la forma en que se innova y crean nuevos productos. Las aplicaciones móviles representan estos cambios al proporcionar acceso compacto e instantáneo a la información de una manera simple y barata.
Este documento discute cómo los cambios tecnológicos y la globalización están alterando el mercado laboral. Esto ha elevado la tasa natural de desempleo significativamente por encima de su tendencia histórica. Para reducirla, se requerirán reformas estructurales como capacitación para nuevas habilidades. Las redes sociales profesionales como LinkedIn ahora son parte integral del mercado laboral, con más de 120 millones de usuarios que recomiendan empleadores y empleados de manera más efectiva que métodos convencionales.
Android de la A a la Z Actividades ulises gonzalezAndroid UNAM
Las aplicaciones móviles están formadas por actividades o pantallas. Cuando se inicia una aplicación, la primera actividad se muestra en primer plano en la pila de actividades. El botón de atrás cierra la actividad actual y muestra la anterior en la pila. Los procesos se matan según las prioridades de las aplicaciones para liberar recursos.
Android de la A a la Z PARTE 3 de 3 ulises gonzalezAndroid UNAM
El documento describe algunas consideraciones clave para el diseño de aplicaciones en Android, como los recursos limitados de los dispositivos móviles, la capacidad de crear aplicaciones híbridas mediante la combinación de datos e interfaces de otras aplicaciones (mashups), y el uso de Intents para determinar funciones de una aplicación de forma independiente a la implementación específica.
Android de la A a la z componentes de una aplicacion ulises gonzalezAndroid UNAM
Las aplicaciones de Android constan de 7 componentes principales: actividades, servicios, proveedores de contenido, intentos, receptores de intentos, widgets y servicios de ubicación. Las actividades representan interfaces de usuario, los servicios ejecutan tareas en segundo plano, los proveedores de contenido gestionan y comparten datos, e intentos y receptores de intentos permiten la comunicación entre componentes.
Android de la A a la Z PARTE 2 de 3 ulises gonzalezAndroid UNAM
El documento describe la arquitectura de Android. Android incluye un sistema operativo basado en Linux, middleware como la máquina virtual Dalvik, y aplicaciones clave. El SDK de Android proporciona herramientas como el emulador y adb para desarrollar aplicaciones, así como documentación y ejemplos de código.
Android de la A a la Z PARTE 1 de 3 ulises gonzalezAndroid UNAM
Este documento trata sobre las aplicaciones móviles para dispositivos como teléfonos y tabletas. Explica el auge del cómputo móvil y los sistemas operativos más utilizados como Android e iOS. También describe herramientas para crear aplicaciones en Android como App Inventor y ejemplos del uso de Android en televisores, automóviles y su primera detección de virus.
***Proyecto PAPIIT IN102210***
UNAM. Facultad de Ingeniería.
Integrantes:
JUAN JOSE CARREON
J. ULISES GONZALEZ MEDINA
ANA LAURA GARCÍA ACOSTA
OMAR SIBAJA BAUTISTA
ROBERTO SOSA HIGAREDA
***Proyecto PAPIIT IN102210***
UNAM. Facultad de Ingeniería.
Integrantes:
JUAN JOSE CARREON
J. ULISES GONZALEZ MEDINA
ANA LAURA GARCÍA ACOSTA
OMAR SIBAJA BAUTISTA
ROBERTO SOSA HIGAREDA
Este documento presenta una introducción a las redes en Android. Explica que Android permite el acceso a redes móviles IP, Wi-Fi y Bluetooth y se centra en la comunicación de aplicaciones Android a través de redes IP. Describe cómo la clase ConnectivityManager puede determinar el estado y tipo de conexión de red. Además, introduce conceptos básicos de redes como nodos, protocolos TCP/IP, direcciones IP, puertos y la diferencia entre protocolos TCP y UDP.
***Proyecto PAPIIT IN102210***
UNAM. Facultad de Ingeniería.
Integrantes:
JUAN JOSE CARREON
J. ULISES GONZALEZ MEDINA
ANA LAURA GARCÍA ACOSTA
OMAR SIBAJA BAUTISTA
ROBERTO SOSA HIGAREDA
El documento describe los conceptos básicos de las bases de datos, incluyendo lo que es una base de datos, un sistema de gestión de base de datos, y los diferentes tipos de bases de datos como las bases de datos relacionales, orientadas a objetos y objeto-relacionales. También describe los modelos de datos conceptuales como el modelo entidad-relación y el modelo relacional que representa los datos como tablas con filas y columnas.
***Proyecto PAPIIT IN102210***
UNAM. Facultad de Ingeniería.
Integrantes:
JUAN JOSE CARREON
J. ULISES GONZALEZ MEDINA
ANA LAURA GARCÍA ACOSTA
OMAR SIBAJA BAUTISTA
ROBERTO SOSA HIGAREDA
***Proyecto PAPIIT IN102210***
UNAM. Facultad de Ingeniería.
Integrantes:
JUAN JOSE CARREON
J. ULISES GONZALEZ MEDINA
ANA LAURA GARCÍA ACOSTA
OMAR SIBAJA BAUTISTA
ROBERTO SOSA HIGAREDA
El documento describe los componentes clave del Android SDK. El SDK incluye documentación, herramientas como el emulador y el compilador, y ejemplos de código. También contiene dos conjuntos de APIs para desarrollar aplicaciones Android.
***Proyecto PAPIIT IN102210***
UNAM. Facultad de Ingeniería.
Integrantes:
JUAN JOSE CARREON
J. ULISES GONZALEZ MEDINA
ANA LAURA GARCÍA ACOSTA
OMAR SIBAJA BAUTISTA
ROBERTO SOSA HIGAREDA
1) El documento presenta una breve historia de Android y la programación en dispositivos embebidos, describiendo el surgimiento de Android como una alternativa de código abierto impulsada por Google y otras empresas tecnológicas agrupadas en la Open Handset Alliance.
2) Explica que Android usa la máquina virtual Dalvik en lugar de una JVM convencional para optimizar el rendimiento en dispositivos móviles, compilando el código Java a archivos .dex en lugar de bytecode de Java standard.
3) Describe la arquitectura de Android,
"Android de la A a la Z" -- IntroducciónAndroid UNAM
***Proyecto PAPIIT IN102210***
UNAM. Facultad de Ingeniería.
Integrantes:
JUAN JOSE CARREON
J. ULISES GONZALEZ MEDINA
ANA LAURA GARCÍA ACOSTA
OMAR SIBAJA BAUTISTA
ROBERTO SOSA HIGAREDA
SOPRA STERIA presenta una aplicació destinada a persones amb discapacitat intel·lectual que busca millorar la seva integració laboral i digital. Permet crear currículums de manera senzilla i intuitiva, facilitant així la seva participació en el mercat laboral i la seva independència econòmica. Aquesta iniciativa no només aborda la bretxa digital, sinó que també contribueix a reduir la desigualtat proporcionant eines accessibles i inclusives. A més, "inCV" està alineat amb els Objectius de Desenvolupament Sostenible de l'Agenda 2030, especialment els relacionats amb el treball decent i la reducció de desigualtats.
KAWARU CONSULTING presenta el projecte amb l'objectiu de permetre als ciutadans realitzar tràmits administratius de manera telemàtica, des de qualsevol lloc i dispositiu, amb seguretat jurídica. Aquesta plataforma redueix els desplaçaments físics i el temps invertit en tràmits, ja que es pot fer tot en línia. A més, proporciona evidències de la correcta realització dels tràmits, garantint-ne la validesa davant d'un jutge si cal. Inicialment concebuda per al Ministeri de Justícia, la plataforma s'ha expandit per adaptar-se a diverses organitzacions i països, oferint una solució flexible i fàcil de desplegar.
para programadores y desarrolladores de inteligencia artificial y machine learning, como se automatiza una cadena de valor o cadena de valor gracias a la teoría por Manuel Diaz @manuelmakemoney
HPE presenta una competició destinada a estudiants, que busca fomentar habilitats tecnològiques i promoure la innovació en un entorn STEAM (Ciència, Tecnologia, Enginyeria, Arts i Matemàtiques). A través de diverses fases, els equips han de resoldre reptes mensuals basats en àrees com algorísmica, desenvolupament de programari, infraestructures tecnològiques, intel·ligència artificial i altres tecnologies. Els millors equips tenen l'oportunitat de desenvolupar un projecte més gran en una fase presencial final, on han de crear una solució concreta per a un conflicte real relacionat amb la sostenibilitat. Aquesta competició promou la inclusió, la sostenibilitat i l'accessibilitat tecnològica, alineant-se amb els Objectius de Desenvolupament Sostenible de l'ONU.
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador ValenciaAMADO SALVADOR
Descubre el catálogo general de la gama de productos de refrigeración del fabricante de electrodomésticos Miele, presentado por Amado Salvador distribuidor oficial Miele en Valencia. Como distribuidor oficial de electrodomésticos Miele, Amado Salvador ofrece una amplia selección de refrigeradores, congeladores y soluciones de refrigeración de alta calidad, resistencia y diseño superior de esta marca.
La gama de productos de Miele se caracteriza por su innovación tecnológica y eficiencia energética, garantizando que cada electrodoméstico no solo cumpla con las expectativas, sino que las supere. Los refrigeradores Miele están diseñados para ofrecer un rendimiento óptimo y una conservación perfecta de los alimentos, con características avanzadas como la tecnología de enfriamiento Dynamic Cooling, sistemas de almacenamiento flexible y acabados premium.
En este catálogo, encontrarás detalles sobre los distintos modelos de refrigeradores y congeladores Miele, incluyendo sus especificaciones técnicas, características destacadas y beneficios para el usuario. Amado Salvador, como distribuidor oficial de electrodomésticos Miele, garantiza que todos los productos cumplen con los más altos estándares de calidad y durabilidad.
Explora el catálogo completo y encuentra el refrigerador Miele perfecto para tu hogar con Amado Salvador, el distribuidor oficial de electrodomésticos Miele.
1. Android de la A a la Z
Unidad 11“Telefonía móvil”
Conceptos preliminares
Telefonía es un término genérico que hace referencia a los detalles
relacionados con las comunicaciones electrónicas de voz a través de redes
telefónicas. Nuestro ámbito será, evidentemente, la red de telefonía móvil
en la que participan los dispositivos de Android, en concreto la red GSM
(Sistema Global para Comunicaciones Móviles).
El término teléfono significa habla a distancia. Proviene del griego tele,
que significa lejos, y fonos, que significa discurso.
GSM es una red de teléfonos móviles. Los dispositivos se comunican por
ondas de radio y frecuencias concretas por medio de repetidores
telefónicos. Esto significa que el estándar GSM debe definir diferentes
aspectos como identidades para dispositivos y móviles, así como todas las
reglas para establecer la comunicación.
No nos adentraremos en los detalles de GSM pero conviene recordar que
es el estándar empleado por Android para admitir llamadas de voz, y el
más utilizado por los operadores y dispositivos de todo el mundo. Todos
los dispositivos GSM utilizan una tarjeta SIM para almacenar la
configuración de la red y del usuario.
Una tarjeta SIM es una pequeña tarjeta inteligente, extraíble y segura. Todos los dispositivos que operan en
una red GSM disponen de identificadores exclusivos, que se almacenan en la tarjeta SIM:
ICCID (ID de Tarjeta de Circuito Integrado): Identifica la tarjeta
SIM (también denominado Número de Serie SIM o SSN).
IMEI (Identidad de Equipamiento Móvil Internacional):
Identifica un dispositivo móvil. (El número suele aparecer
impreso bajo la batería.)
IMSI (Identidad Internacional del Suscriptor Móvil): Identifica
al suscriptor (y a la red a la que pertenece).
LAI (Identidad de Área de Ubicación): Identifica la región del
proveedor de red del dispositivo.
KI (Clave de Autenticación): En esta red se utiliza una clave de
128 bits para autenticar la tarjeta SIM.
Estos números son importantes para validar y autenticar una tarjeta SIM, al dispositivo en que se encuentra
y al suscriptor en la red (y entre redes si fuera necesario).
Junto con el almacenamiento de identificadores y claves de autenticación, las tarjetas SIM permiten
guardar contactos y mensajes SMS. Es muy útil para los usuarios, ya que pueden extraer sus tarjetas y
disponer de sus datos de contactos y mensajes en otros dispositivos. En la actualidad no existen APIs
públicas para interactuar con la tarjeta SIM directamente en el dispositivo Android, aunque puede que
1
Elaborado por: J. Ulises González Medina
android.unam@gmail.com
Noviembre 2011
Versión 1.2
2. Android de la A a la Z
Unidad 11“Telefonía móvil”
aparezcan en el futuro. (Actualmente, la plataforma controla la interacción SIM y los programadores
pueden obtener acceso de sólo lectura a través de las API de telefonía.)
La base para trabajar con los paquetes de telefonía para Android es así de breve y sencilla. No olvide que
estamos trabajando con una red GSM y que puede encontrar términos como IMSI e IMEI, almacenados en
la SIM. Para acceder a esta información y realizar otras operaciones, se utiliza la clase TelephonyManager.
Obtener información sobre el teléfono
Android proporciona una clase de administración que proporciona información sobre muchos detalles del
dispositivo relacionados con la telefonía. Por medio de esta clase, TelephonyManager, puede acceder a
muchas de las propiedades GSM/SIM mencionadas anteriormente y puede obtener información de estado
de red y actualizaciones.
Para que las aplicaciones sepan cuándo está disponible un
servicio y cuándo se inician llamadas, se mantienen activas y
finalizan, se añade un oyente de eventos al teléfono,
PhoneListener, a través del administrador.
A continuación examinaremos distintas partes de la aplicación
de un ejemplo denominado TelephoneManager para analizar
estas clases y conceptos. Para empezar, obtendremos una
instancia de TelephonyManager y la utilizaremos para consultar
información de telefonía.
Propiedades de telefonía
El paquete android. telephony contiene la clase TelephonyManager, así como detalles de toda la
información que ofrece. En este ejemplo obtendremos y mostraremos un pequeño subconjunto de dicha
información para ilustrar este enfoque. La primera actividad, no la pantalla principal, de la aplicación es una
sencilla pantalla que muestra parte de la información que podemos obtener a través de TelephonyManager
La clase TelephonyManager constituye el centro de información de los datos relacionados con telefonía de
Android. El código muestra cómo obtener una referencia a esta clase y utilizarla para recuperar datos
public class TelephonyManagerExample extends Activity {
private TextView telMgrOutput;
@Override
public void onCreate(final Bundle icicle) {
Log.d(Constants.LOGTAG, "TelephonyManagerExample onCreate");
super.onCreate(icicle);
this.setContentView(R.layout.telmgrexample);
this.telMgrOutput = (TextView) findViewById(R.id.telmgroutput);
}
@Override
2
Elaborado por: J. Ulises González Medina
android.unam@gmail.com
Noviembre 2011
Versión 1.2
3. Android de la A a la Z
Unidad 11“Telefonía móvil”
public void onStart() {
super.onStart();
// TelephonyManager
final TelephonyManager telMgr = (TelephonyManager)
getSystemService(Context.TELEPHONY_SERVICE);
this.telMgrOutput.setText(telMgr.toString());
// PhoneStateListener
PhoneStateListener phoneStateListener = new PhoneStateListener() {
@Override
public void onCallStateChanged(final int state, final String incomingNumber)
{
telMgrOutput.setText(getTelephonyOverview(telMgr));
Log.d(Constants.LOGTAG, "phoneState updated - incoming number - " +
incomingNumber);
}
};
telMgr.listen(phoneStateListener, PhoneStateListener.LISTEN_CALL_STATE);
String telephonyOverview = getTelephonyOverview(telMgr);
this.telMgrOutput.setText(telephonyOverview);
}
@Override
public void onPause() {
super.onPause();
}
/**
* Parse TelephonyManager values into a human readable String.
*
* @param telMgr
* @return
*/
public String getTelephonyOverview(final TelephonyManager telMgr) {
int callState = telMgr.getCallState();
String callStateString = "NA";
switch (callState) {
case TelephonyManager.CALL_STATE_IDLE:
callStateString = "IDLE";
break;
case TelephonyManager.CALL_STATE_OFFHOOK:
callStateString = "OFFHOOK";
break;
case TelephonyManager.CALL_STATE_RINGING:
callStateString = "RINGING";
break;
}
GsmCellLocation cellLocation = (GsmCellLocation) telMgr.getCellLocation();
String cellLocationString = cellLocation.getLac() + " " + cellLocation.getCid();
String deviceId = telMgr.getDeviceId();
String deviceSoftwareVersion = telMgr.getDeviceSoftwareVersion();
String line1Number = telMgr.getLine1Number();
3
Elaborado por: J. Ulises González Medina
android.unam@gmail.com
Noviembre 2011
Versión 1.2
5. Android de la A a la Z
Unidad 11“Telefonía móvil”
sb.append(" nsimSerialNumber = " + simSerialNumber);
sb.append(" nsimSubscriberId = " + simSubscriberId);
sb.append(" nsimStateString = " + simStateString);
return sb.toString();
}
}
Se utiliza Context de Android, a través del método getSystemService con una constante, para obtener una
instancia de la clase TelephonyManager. Tras ello, se utiliza para obtener la información necesaria. En este
caso hemos creado un método de ayuda para obtener datos del administrador y devolverlos como cadena
para mostrarla posteriormente en la pantalla.
El administrador le permite acceder a datos de estado del teléfono, como por ejemplo si hay o no una
llamada en curso, información de ubicación, el ID del dispositivo y la versión del software, el número de
teléfono registrado en el usuario o SIM actuales, y otros muchos detalles SIM como el ID del suscriptor
(IMSI). Existen otras propiedades adicionales que no utilizamos en este ejemplo (consulte la
documentación).
Fíjese en otro detalle no incluido en el listado. Para que la clase funcione, es necesario establecer el
permiso READ_PHONE_STATE en el manifiesto (sin su presencia, se generan excepciones de seguridad al
intentar leer datos desde el administrador). En un apartado posterior veremos los permisos relacionados
con la telefonía.
Este control a la información telefónica, incluidos metadatos sobre el dispositivo, red y tarjeta SIM, es uno
de los principales objetos de la clase TelephonyManager. El otro es permitir que se añada un
PhoneStateListener.
Información del teléfono
Evidentemente, un teléfono muestra diferentes estados. Los más habituales son en reposo, en una llamada
o en proceso de iniciar una llamada. Al crear aplicaciones para un dispositivo móvil, en ocasiones no sólo
debe conocer el estado actual del teléfono sino también saber cuándo cambia. Para estos casos puede
adjuntar un oyente al teléfono y suscribirse para recibir notificaciones de los cambios publicados. En
Android, se utiliza PhoneStateListener, que se añade al teléfono a través de TelephonyManager. El código
muestra un ejemplo de uso de ambas clases.
@Override
public void onStart() {
super.onStart();
// TelephonyManager
final TelephonyManager telMgr = (TelephonyManager)
getSystemService(Context.TELEPHONY_SERVICE);
this.telMgrOutput.setText(telMgr.toString());
// PhoneStateListener
5
Elaborado por: J. Ulises González Medina
android.unam@gmail.com
Noviembre 2011
Versión 1.2
6. Android de la A a la Z
Unidad 11“Telefonía móvil”
PhoneStateListener phoneStateListener = new PhoneStateListener() {
@Override
public void onCallStateChanged(final int state, final String incomingNumber)
{
telMgrOutput.setText(getTelephonyOverview(telMgr));
Log.d(Constants.LOGTAG, "phoneState updated - incoming number - " +
incomingNumber);
}
};
telMgr.listen(phoneStateListener, PhoneStateListener.LISTEN_CALL_STATE);
String telephonyOverview = getTelephonyOverview(telMgr);
this.telMgrOutput.setText(telephonyOverview);
}
Para comenzar a trabajar con PhoneStateListener, necesita una instancia de TelephonyManager para poder
asignar posteriormente el oyente. PhoneStateListener es una interfaz, de modo que debe crear una
implementación, con el método obligato¬rio onCallStateChanged, para poder utilizarla. Una vez obtenida la
instancia de PhoneStateListener (una implementación propia de la interfaz), se asigna al administrador por
medio del método listen.
En el ejemplo del código anterior, escuchamos todos los cambios PhoneStateListener . LISTEN_CALL_STATE
del estado del teléfono. Es un valor constante de una lista de estados disponibles que puede ver en la clase
PhoneStateListener. Puede utilizarlo como valor al asignar un oyente al método listen, como hemos hecho
aquí, o puede combinar varios valores. Si se produce un cambio de estado, restablecemos los detalles en
pantalla con el método getTelephonyOverview que utilizamos inicialmente para establecer el estado inicial
en el código que se presentó al inicio de este capítulo La acción realizada se define en el método
onCallStateChanged de PhoneStateListener. Puede filtrar este método (además de los tipos de eventos que
escuche) en función del int state pasado.
Realizando llamadas
Como vimos en un capítulo anterior, basta con utilizar la acción Intent. ACTION_ CALL y tel :Uri para invocar
la aplicación incorporada de marcado y realizar una llamada. Este enfoque invoca la aplicación de marcado,
la completa con el número de teléfono proporcionado (obtenido de Uri) e inicia la llamada.
Junto con esta acción, también puede invocar la aplicación con la acción Intent. ACTION_DIAL, que de
nuevo completa la aplicación con el número proporcionado pero se detiene después de iniciar la llamada.
this.dialintent = (Button) findViewById(R.id.dialintent_button);
this.dialintent.setOnClickListener(new OnClickListener() {
public void onClick(final View v) {
Intent intent = new Intent(Intent.ACTION_DIAL, Uri.parse("tel:" +
Main.NUMBER));
startActivity(intent);
}
});
6
Elaborado por: J. Ulises González Medina
android.unam@gmail.com
Noviembre 2011
Versión 1.2
7. Android de la A a la Z
Unidad 11“Telefonía móvil”
this.callintent = (Button) findViewById(R.id.callintent_button);
this.callintent.setOnClickListener(new OnClickListener() {
public void onClick(final View v) {
Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" +
Main.NUMBER));
startActivity(intent);
}
});
Llegado a este punto, ya hemos visto el uso delntentyel diseño de la plataforma Android. En el listado 7.3
volvemos a utilizar este diseño para realizar llamadas a nú-meros concretos.
La realización de llamadas a través de los intent incorporados es muy sencilla, como hemos visto en
ejemplos anteriores. Básicamente necesita definir la acción que realizar, ya sea completando el marcador
con ACTION_DIAL o completándolo e iniciando la lla¬mada con ACTION_CALL. En cualquier caso, debe
especificar el número de teléfono que utilizar por medio de Intent Uri.
Otro aspecto relación con las llamadas que tener en cuenta son los permisos. El manifiesto de la aplicación
debe incluir los permisos correctos para poder acceder y modificar el estado del teléfono o interceptar
llamadas.
Mensajes SMS
El servicio de mensajes cortos o SMS (Short Message Service) es un
servicio disponible en los teléfonos móviles que permite el envío de
mensajes cortos (también conocidos como mensajes de texto, o más
coloquialmente, textos o mensajitos) entre teléfonos móviles,
teléfonos fijos y otros dispositivos de mano. SMS fue diseñado
originariamente como parte del estándar de telefonía móvil digital
GSM, pero en la actualidad está disponible en una amplia variedad
de redes, incluyendo las redes 3G.
Definiciones técnicas en GSM
Un mensaje SMS es una cadena alfanumérica de hasta 140 caracteres o de
160 caracteres de 7 bits, y cuyo encapsulado incluye una serie de
parámetros.
En principio, se emplean para enviar y recibir mensajes de texto normal,
pero existen extensiones del protocolo básico que permiten incluir otros
tipos de contenido, dar formato a los mensajes o encadenar varios
mensajes de texto para permitir mayor longitud (formatos de SMS con
imagen de Nokia, tonos IMY de Ericsson, estándar EMS para dar formato al
texto e incluir imágenes y sonidos de pequeño tamaño).
7
Elaborado por: J. Ulises González Medina
android.unam@gmail.com
Noviembre 2011
Versión 1.2
8. Android de la A a la Z
Unidad 11“Telefonía móvil”
En GSM existen varios tipos de mensajes de texto: mensajes de texto "puros", mensajes de configuración
(que contienen los parámetros de conexión para otros servicios, como WAP o MMS), mensajes WAP Push,
notificaciones de mensajes MMS... En este artículo nos limitaremos a lo que especifica el estándar GSM,
puesto que el transporte de todos los tipos de SMS se realiza de la misma forma.
En otros estándares de telefonía móvil (como CDMA2000 o UMTS) el proceso de los mensajes se realiza de
otra forma, pero el funcionamiento es transparente de cara al usuario.
Trabajando con mensajes SMS
8
Elaborado por: J. Ulises González Medina
android.unam@gmail.com
Noviembre 2011
Versión 1.2
9. Android de la A a la Z
Unidad 11“Telefonía móvil”
SMS es un importante medio de comunicación para los dispositivos móviles. Se utiliza para enviar sencillos
mensajes de texto y pequeñas cantidades de datos.
Android incluye una aplicación SMS que permite a los usuarios ver mensajes SMS recibidos y enviarlos
(incluida la respuesta a los recibidos). Junto con esta compatibilidad y el ContentProvider relacionado para
interactuar con el sistema incorporado, el SDK proporciona API para que los programadores puedan enviar
y recibir mensajes mediante programación.
Para explorar esta compatibilidad, analizaremos ambas caras de la moneda, el envío y la recepción.
El subpaquete android.telephony.gsm contiene las clases SmsManager y SmsMessage. SmsManager se
utiliza para definir muchas constantes relacionadas con SMS y contiene los métodos sendDataMessage,
sendMultipartTextMessage y sendTextMessage.
public class SmsExample extends Activity {
private EditText smsInputText;
private EditText smsInputDest;
private Button smsSend;
private SmsManager smsManager;
@Override
public void onCreate(final Bundle icicle) {
Log.d(Constants.LOGTAG, "SmsExample onCreate");
super.onCreate(icicle);
this.setContentView(R.layout.smsexample);
this.smsInputDest = (EditText) findViewById(R.id.smsinputdest);
this.smsInputText = (EditText) findViewById(R.id.smsinputtext);
this.smsSend = (Button) findViewById(R.id.smssend_button);
this.smsManager = SmsManager.getDefault();
// pending intent request code NOT USED
final PendingIntent sentIntent = PendingIntent.getActivity(this, 0, new
Intent(this, SmsExample.class), 0);
this.smsSend.setOnClickListener(new OnClickListener() {
public void onClick(final View v) {
Log.d(Constants.LOGTAG, "SmsExample sending SMS message via manager");
String dest = smsInputDest.getText().toString();
if (PhoneNumberUtils.isWellFormedSmsAddress(dest)) {
// dest, serviceCenter (null for default), message,
// sentIntent, deliveryIntent
//
// Set the second parameter to null. The scAddress relates
// to the address of the server on the cellular network that will
handle
// the message, it is not the address of the sender.
9
Elaborado por: J. Ulises González Medina
android.unam@gmail.com
Noviembre 2011
Versión 1.2
10. Android de la A a la Z
Unidad 11“Telefonía móvil”
smsManager.sendTextMessage(smsInputDest.getText().toString(), null,
smsInputText.getText()
.toString(), sentIntent, null);
Toast.makeText(SmsExample.this, "SMS message sent",
Toast.LENGTH_LONG).show();
} else {
Toast.makeText(SmsExample.this, "SMS destination invalid - try
again", Toast.LENGTH_LONG).show();
}
}
});
}
@Override
public void onStart() {
super.onStart();
}
@Override
public void onPause() {
super.onPause();
}
}
Lo primero que necesitamos para trabajar con mensajes SMS es obtener una instancia de SmsManager, por
medio del método estático getDefault. Posteriormente utilizaremos el administrador para enviar el
mensaje. Pero antes, es necesario crear Pendinglntent (que utilizaremos como parámetro en el método de
envío).
Pendinglntent puede especificar el elemento Activity, Broadcast o Service que necesite. En nuestro caso,
utilizamos el método getActivity, que denota una actividad, y después el contexto, código de solicitud (que
no se utiliza), Intent e indica¬dores adicionales. Indican si es necesario crear una nueva instancia de la
actividad (o Broadcast o Service) a la que se hace referencia en caso de que no exista.
Una vez obtenido Pendinglntent, comprobarnos que la dirección de destino sea válida para SMS (con otro
método de PhoneNumberUtils) y enviamos el mensaje por medio del método sentTextMessage del
administrador.
Este método de envío acepta varios parámetros, uno de los cuales puede resultar confuso. La firma de este
método es la siguiente:
sendDataMessage (String destinationAddress, String scAddress, short destinationPort,
byte[] data, Pendinglntentsentlntent, Pendinglntent de liveryIntent)
El parámetro destinationAddress es el número de teléfono al que enviar el mensaje. El parámetro
scAddress es el complicado. No es la dirección de origen, sino que indica la dirección del centro de servicios
internos en la red, que en la mayoría de los casos se deja en null (para utilizar el valor predeterminado).
destinationPort es el puerto; data es la carga del mensaje y, por último, sentlntent y deliverylntent son
10
Elaborado por: J. Ulises González Medina
android.unam@gmail.com
Noviembre 2011
Versión 1.2
11. Android de la A a la Z
Unidad 11“Telefonía móvil”
instancias Pendinglntent independientes que se ejecutan cuando se envía y se recibe satisfactoriamente el
mensaje.
Recibiendo SMS
La recepción de un mensaje SMS mediante programación se realiza a través de una difusión en la
plataforma Android. Para ilustrarlo en nuestra aplicación TelephonyExplorer, volveremos a implementar un
receptor.
public class SmsReceiver extends BroadcastReceiver {
public static final String SMSRECEIVED = "SMSR";
private static final String SMS_REC_ACTION =
"android.provider.Telephony.SMS_RECEIVED";
@Override
public void onReceive(final Context context, final Intent intent) {
Log.v(Constants.LOGTAG, "SmsReceiver onReceive");
if (intent.getAction().equals(SmsReceiver.SMS_REC_ACTION)) {
Log.v(Constants.LOGTAG, "SmsReceiver SMS received");
StringBuilder sb = new StringBuilder();
Bundle bundle = intent.getExtras();
if (bundle != null) {
Object[] pdus = (Object[]) bundle.get("pdus");
for (Object pdu : pdus) {
SmsMessage smsMessage = SmsMessage.createFromPdu((byte[]) pdu);
sb.append("body - " + smsMessage.getDisplayMessageBody());
}
}
Toast.makeText(context, "SMS RECEIVED - " + sb.toString(),
Toast.LENGTH_LONG).show();
}
}
}
Para reaccionar a un mensaje SMS entrante, volvemos a crear BroadcastReceiver ampliando la clase.
Nuestro receptor define una constante local para la acción Intent que desea capturar, en este caso
android.provider. Telephony. SMS_RECEIVED.
Una vez configurada la clase, filtramos la acción deseada en el método onReceive y obtenemos los datos
SMS del Intent Bundle con la clave pdus. PDU (Unidad de Datos de Protocolo) es el término que describe el
paquete de datos en mensajes SMS. En este caso, la plataforma utiliza la clave pdus (lo hemos descubierto
por ensayo y error, al obtener el conjunto de claves del Bundle e iterando por el mismo). Por cada objeto
pdu construimos un SmsMessage convirtiendo los datos en una matriz de bytes.
Seguidamente podemos trabajar con los métodos de esa clase, como por ejemplo
getDisplayMessageBody. Con el envío y recepción de mensajes SMS completamos la descripción de las
API de telefonía.
11
Elaborado por: J. Ulises González Medina
android.unam@gmail.com
Noviembre 2011
Versión 1.2