3 votos

¿Cuál es la forma más rápida de apagar un teléfono Android sin root?

A veces necesito apagar mi teléfono lo más rápido posible. En teléfonos más antiguos podía quitar la batería, pero después de algunas "innovaciones" esta característica ya no está presente. ¿Hay alguna opción mejor que simplemente apagarlo de forma normal y esperar largos segundos hasta que se apague? Es especialmente malo cuando derramo agua en mi teléfono y la pantalla táctil se niega a funcionar.

Estoy usando Xiaomo Pocophone F1 con Android 9.0.

0 votos

Solo para aclarar, ¿sería aceptable una solución que apague el teléfono de forma normal pero sin requerir entrada táctil? (Esto requeriría acceso root sin embargo). La tecla de encendido se puede configurar para iniciar ese apagado al mantenerla presionada durante X número de segundos. Es mejor si mencionas el dispositivo Android y la versión que estás utilizando.

0 votos

Me gustaría matarlo al instante si es posible. Mantener presionada una tecla durante mucho tiempo suele ser demasiado largo para considerarse "instantáneo"

0 votos

Estás perdiendo el punto. Si el touch no funciona, solo se puede depender del volumen o del botón de encendido. Puedes configurarlos para apagar el teléfono con solo un toque o con una pulsación larga. Si están configurados para un solo toque, perderías la funcionalidad original de esos botones, así que la elección es tuya para hacer el intercambio porque el sistema operativo no puede saber automáticamente (a menos que se construya algún sensor para eso) que el agua ha entrado en el dispositivo.

6voto

Jack Wade Puntos 231

De hecho, sin quitar la batería no es posible apagar un dispositivo completamente para evitar la pérdida que podría ocurrir debido a un cortocircuito causado por el agua.

Echemos un vistazo breve a lo que significa apagar y cuáles son las posibles opciones para lograrlo.

¿CÓMO FUNCIONA EL APAGADO?
Android se basa en el kernel de Linux que es el primer ejecutable del sistema operativo que se ejecuta durante el proceso de arranque. El kernel inicializa el hardware necesario y prepara un entorno básico antes de ejecutar init, el primer proceso de espacio de usuario que podemos ver. Es init el que luego inicia y se encarga de todos los servicios y procesos. En el apagado, ocurre lo contrario.

INIT
Cuando pulsas Apagar desde el Menú de Energía, o cuando emites el comando reboot -p desde una aplicación de terminal o adb, se configura la propiedad de Android sys.powerctl a shutdown (con un motivo opcional para el apagado) lo que le dice a init que es hora de guardar cualquier trabajo sin guardar en el almacenamiento persistente, detener todos los servicios y procesos de manera segura (o brutal), sincronizar las cachés del sistema de archivos, desmontar los sistemas de archivos y luego pasar la carga al kernel haciendo la llamada al sistema reboot (ref). El kernel luego se asegura de que todos los procesos de espacio de usuario se detengan, incluido init, desmonta a la fuerza cualquier sistema de archivos obstinado y, en última instancia, apaga los dispositivos de hardware, incluidas las CPUs y la RAM.

init de Android admite dos modos: shutdown y reboot. El init de Linux tiene algunas opciones más de apagado, incluidas halt y poweroff. Consulta esta respuesta para más detalles.

KERNEL
La mayoría del tiempo durante el apagado lo toma init. Para ahorrar tiempo, puedes omitir init y pedirle al kernel directamente un apagado haciendo la llamada al sistema:

reboot(LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2, LINUX_REBOOT_CMD_POWER_OFF)

Eso es lo que haría el comando busybox poweroff -f o la tecla SysRq mágica O (equivalente a Alt-SysRq-O en una PC) (ref). Ambos deben ir precedidos por sync para evitar dañar los sistemas de archivos. Desde la línea de comandos podemos hacer:

~# echo 1 >/proc/sys/kernel/sysrq 
~# echo s >/proc/sysrq-trigger
~# echo o >/proc/sysrq-trigger

Esta es la forma más rápida de apagar el sistema operativo en un dispositivo rooteado.

REINICIO FORZADO
Pero ¿cómo apagar el dispositivo si incluso el kernel no responde? Normalmente, el hardware puede encargarse de esto, es decir, si mantienes presionado el botón de encendido durante un intervalo de tiempo fijo. Hay algún valor predeterminado (generalmente 10 segundos) en la Unidad de Administración de Energía (PMIC). Ningún proceso se detendrá, no se desmontará ningún sistema de archivos, no se dará ninguna despedida, simplemente se cortará la energía a la CPU, la RAM y otros recursos de hardware relevantes. La mayoría de los SoCs (que tienen PMIC integrado) implementan esto como reinicio, no apagado.


Por lo tanto, para resumir las líneas anteriores, hay dos formas de apagar el dispositivo: a través de init o llamando directamente al kernel. Ambos se pueden lograr mediante simples comandos de shell o se pueden asignar a alguna tecla de hardware o combinación especial de teclas. Pero el agua puede hacer que cualquier tecla de hardware sea inútil, por lo que este método no puede ser una solución universal.


BOTÓN DE ENERGÍA
Pero el punto es que tu dispositivo no está completamente apagado independientemente del camino que hayas elegido. Durante el proceso de arranque hay cosas que se encienden antes de que se cargue el sistema operativo (y posiblemente incluso cuando no hay un sistema operativo en el dispositivo). Debe haber un circuito en el PMIC (por ejemplo, un microcontrolador en modo de baja potencia y puede que también alguna pila de software) que esté siempre encendido para que pueda escuchar tu solicitud de encender el dispositivo cuando presionas el botón de encendido durante unos segundos, o incluso cuando conectas un cargador al dispositivo en estado de apagado.

PROCESADOR DE COMUNICACIONES
Además, el procesador de banda base (BP) - que ejecuta el módem y es responsable de toda la comunicación a través de las redes móviles como llamadas, SMS e internet - está totalmente aislado del Procesador de Aplicaciones (el que llamamos CPU) y no está gobernado por el kernel de Android; ejecuta un RTOS independiente. Y como dicen, las agencias gubernamentales pueden usarlo para rastrearte incluso cuando crees que tu dispositivo está apagado. Por lo tanto, esto significa que es posible que esté (parcialmente o totalmente o periódicamente) en funcionamiento cuando Android no lo está.


Y si no hay nada más, al menos los terminales de la batería están siempre activos, conectados a alguna parte de la placa base que puede provocar un cortocircuito cuando se mojan. Entonces, si tu dispositivo no es resistente al agua y la batería no tiene alguna protección contra cortocircuitos incorporada, nunca puedes estar seguro de que tu dispositivo no se dañará cuando se derrame agua sobre él.

1 votos

¡Gracias! ¡vi todos los episodios de Mr. Robot pero no sabía que la NSA puede hackear el procesador de banda base incluso cuando el teléfono está apagado! :) ¡Ahora entendemos el motivo de esta "innovación" de las baterías no removibles!

2 votos

@alecxs los procesadores de banda base son uno de los productos de código cerrado excesivamente. No sé cuál es el factor dominante. Si los gigantes como Qualcomm están manteniendo puertas traseras o ocultando sus vulnerabilidades de seguridad o no quieren poner en riesgo la privacidad de los usuarios.

1voto

zrush Puntos 16

Puedes apagar tu dispositivo manteniendo presionado

el botón de Subir Volumen + Botón de Encendido

simultáneamente durante varios segundos.

0voto

ailaG Puntos 1

Si continúas presionando la tecla de encendido, se apagará sin confirmación. Eso tarda unos segundos más pero no requiere la pantalla táctil en el caso que has descrito.

p.d. Yendo a otro tema, he descubierto que bloquear la pantalla y limpiarla a menudo funciona si un poco de agua afecta la pantalla táctil. Pero si está empapada, apagarla sería mejor para los electrónicos.

0 votos

En mi caso, reinicia el teléfono

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X