VIII.6. Práctica 8.2

  1. Abrimos Android Studio y nos dirigimos a la parte superior izquierda a la siguiente ruta: File->New->New Project.



  2. Seleccionamos “Empty Activity” y damos clic en “Next”.



  3. Asignamos nombre, en este caso “Encendido”, dejamos todos los valores por default y damos clic en “Finish”.

  4. Eliminamos el texto “Hello World!” en el nuevo proyecto.

  5. Creamos una nueva clase dando clic derecho sobre la carpeta que contiene el MainActivity y damos en: New->Java->New Class.



  6. En la sección name colocamos “InicioEncendido”, en la sección Superclass colocamos “android.content.BroadcastReceiver”, dejamos los de más parámetros como están y damos clic en OK.



  7. En el menú “Android” nos dirigimos al archivo manifest: app->manifest->AndroidManifest.xml, para abrirlo damos doble clic en el nombre del archivo.



  8. Una vez abierto, agregamos el permiso del envío del estado de arranque y el receiver, debe quedar de la siguiente manera.



  9. En la clase InicioEncendido.java colocamos el siguiente código, el cual recibirá la acción de encendido del dispositivo mediante un Intent, cuando suceda se ejecutará la clase MainActivity.



  10. Nos dirigimos a la parte lógica del activity principal, el cual es "MainActivity.java” e importamos las siguientes librerías.



  11. Utilizaremos el siguiente código en “MainActivity.java”, el cual implementa la clase “dispatchKeyEvent” para el manejo de todos los eventos generados por el accionamiento de botones físicos.
    Primero se obtiene la acción del evento y el código del botón que se oprimió. Después comparamos si el botón que se pulsó fue el de subir o bajar volumen y mandamos una notificación de cual fue pulsado. Para llevar la cuenta de cuantas veces se ha oprimido un botón utilizamos la variable contadorSubirVolumen, contadorBajarVolumen y contadorApagar.



  12. Cuando ejecutamos la aplicación y está abierta, dejamos presionado el botón de encendido, una vez en el menú de apagado, damos clic en reiniciar (en caso de no aparecer la opción de restart, se debe crear otro dispositivo virtual en el emulador con una versión de Android más actual, como la opción 9, Nexus 5 (API level 28) o Nexus 6 y una vez que vuelva a arrancar el sistema, también se iniciará la aplicación automáticamente.

                                                   

  13. Para agregar un nuevo dispositivo virtual debemos dar clic en ejecutar.



  14. Después se nos abrirá el administrador de dispositivos virtuales, debemos ir a la parte inferior izquierda, dar clic en donde dice “Create New Virtual Device”.



  15. Ahora seleccionaremos algún modelo de dispositivo, en este caso seleccionar Pixel 2 y damos clic en next.



  16. Seleccionamos una de las versiones de Android más recientes, en este caso “Pie 28 Android 9.0” y Damos clic en descargar.



  17. Una vez descargada l a versión de Android, la seleccionamos y damos clic en next.



  18. Dejamos todas las opciones por default y damos clic en Finish.



  19. Una vez terminado, deberá aparecer el dispositivo en la lista del administrador de dispositivos virtuales.