android things - programacion - Apagando las cosas de Android
manual android studio avanzado (3)
Por lo general, para apagar un dispositivo Android , lo haces a través del botón de encendido, por supuesto.
También puedes hacer adb shell
y reboot -p
.
Pero en Android Things , no veo una manera de apagar el dispositivo. Si no es problema, me encantaría cortar el poder de mi Raspberry Pi para esto, pero ¿es eso aceptable? ¿Podría corromper la tarjeta SD?
Android (y, por extensión, Android Things) no debería tener problemas con una pérdida repentina de energía. El sistema operativo principal está alojado en particiones de solo lectura en el sistema de archivos, por lo que no hay riesgo de dañar el sistema operativo de una escritura fallida durante el vuelo.
Además, reboot -p
aún debería funcionar si desea utilizar eso en pruebas o desarrollo. Yendo aún más lejos con él, puedes conectar un Gpio
con un InputDriver
que emita KEYCODE_POWER
para agregar tu propio botón de encendido al sistema si crees que lo necesitas.
Me gusta la respuesta de Dave, solo quería agregar dos cosas:
Podría apagar el dispositivo Android Things programáticamente de varias maneras, pero cada una tiene una advertencia adjunta, que se explica aquí: Apague el dispositivo mediante programación
Para apagar un dispositivo AndroidThings como dijiste, puedes hacerlo a través de ADB:
adb shell reboot -p
( -p
es la abreviatura de --poweroff
)
Actualización: esto puede no funcionar para las versiones más recientes del sistema operativo
... y programáticamente
para apagar
Runtime.getRuntime().exec("reboot -p");
y reiniciar
Runtime.getRuntime().exec("reboot");
Explanation
: el binario de reboot
se envía en la imagen de Cosas de Android con el permiso ejecutable en todo el mundo, es decir, rwxr-xr-x
, que permite ser ejecutable desde cualquier proceso de la aplicación. En otras palabras, el proceso de una aplicación no necesita obtener una diferencia de la mayoría de los teléfonos / tabletas con Android, por lo que no es necesario un permiso adicional en AndroidManifest.xml
.