2 votos

Evitar reinicios accidentales al mantener pulsado el botón de encendido

A menudo termino reiniciando accidentalmente mi Nexus 6 mientras lo tengo en el bolsillo, porque el botón de encendido se presiona durante más de 10 segundos.

Teniendo en cuenta los largos tiempos de arranque, esto puede ser muy molesto.

Puedo entender por qué es importante tener una forma de reiniciar forzosamente tu teléfono cuando se queda atascado, aunque aún no haya tenido este tipo de problema.

¿Hay alguna manera de cambiar el comportamiento del reinicio forzado?

Tal vez aumentar el tiempo en el que se debe presionar el botón de encendido o cambiarlo por una combinación de botones (por ejemplo, botón de subir volumen + botón de encendido durante 10 segundos)... cualquier cosa que haga menos probable que se active en mi bolsillo.

0 votos

Si puedes conseguir el equipo y el código para modificar la BIOS que resida en la placa base de tu teléfono, puede ser posible, pero que yo sepa, todos los dispositivos Android se reinician después de mantener presionado el botón de encendido durante 10 segundos como una especie de reinicio de emergencia. Imagina que tu teléfono se cuelga y no te permite reiniciarlo, incluso tiene una batería integrada y no reemplazable; tendrías que esperar hasta que la batería se agote para poder volver a usar tu teléfono.

0 votos

@GiantTree Soy consciente de por qué existe esta función y lo he mencionado. Solo me preguntaba si alguien había descubierto alguna manera de modificar el firmware.

1 votos

No puedo evadir el reinicio forzado directamente, pero estaba pensando, ¿qué tal si puedes ser notificado mediante vibración de que el dispositivo está en el bolsillo y el botón está atascado durante mucho tiempo (como máximo 500 ms)? Eso se puede hacer. Quiero saber, ¿el dispositivo está rooteado?

1voto

Firelord Puntos 161

Estaba esperando algo de flexibilidad en el tiempo de espera de la pulsación larga usando AutoInput, pero la aplicación ralentiza considerablemente mi sistema operativo para hacer cualquier cosa con ella.

De todos modos, todo lo que sugiero es usar Xposed Additions (gratuito/pago; requiere Xposed Framework; si tienes Android 5.x, necesitarías flashear algunos archivos desde la recuperación personalizada. Consulta este hilo de XDA por rovo89 para ese caso).

Necesitamos también Tasker (pago, prueba gratuita de 7 días).

Instrucciones

(Probado en Android 5.0.2 y 5.1.1)

  1. Instala ambas aplicaciones → activa el módulo de Xposed Additions → inicia Xposed Additions

  2. Toca Botones → ajusta el deslizador de Retraso de pulsación larga al máximo (500ms) → Añadir nueva tecla → pulsa la tecla de Encendido para seleccionarla → Encendido

  3. Toca Añadir nueva Condición → Pantalla apagada → Pantalla apagada → activa Pulsación larga → Acceso directo → Acceso directo a tarea → Nueva tarea → nombra la tarea.

    Nota: Puedes probar el Acceso directo de MacroDroid en lugar de Acceso directo a tarea. La versión gratuita está restringida a una acción por macro, por lo que no obtendrías flexibilidad, pero es aceptable aquí.

  4. Para tu tarea, la acción sería:

    • Alerta → VibrarTiempo: selecciona el tiempo de vibración (en milisegundos)

    Es posible que la vibración durante 1000ms no sea suficiente para ti. En ese caso, agrega una combinación de acciones. Por ejemplo, además de la última acción de Vibrar, también puedes hacer lo siguiente:

    • Tarea → Esperar → selecciona MS o/y Segundo ligeramente mayor que los milisegundos seleccionados en la última acción de Vibrar

      La espera es importante porque si agregas acciones de Vibrar continuas, terminarías omitiendo casi todas excepto la primera. Tasker no encola solicitudes de vibración, al menos eso me parece a mí.

    • Ahora, agrega otra acción de Vibrar y copia-pega todo el ciclo tantas veces como desees.

  5. Selecciona un icono para tu tarea y listo.

Ahora puedes probar tu solución.


Experimental

Para usuarios que tienen AutoInput funcionando satisfactoriamente, pueden emular la pulsación larga de una tecla. Probé mi solución con la tecla de Subir volumen y funcionó perfectamente. ¡Bueno, ¡casi!

Para Tasker:

Perfil 1: Evento → Plugin → AutoInput → Tecla → Configuración:

  • selecciona tu tecla bajo Teclas
  • selecciona Acción de tecla a Pulsación de tecla

Tarea 1: Acciones:

  1. Variable → Establecer variable → Variable: %Set → A: 0
  2. Tarea → Esperar → selecciona MS o Segundos para tu tiempo de espera de pulsación larga deseado. Elige 1 segundo para fines experimentales
  3. Tarea → Si → %Set eq 0
  4. Alerta → Vibrar → Tiempo: 1000ms

Perfil 2: Evento → Plugin → AutoInput → Tecla → Configuración:

  • selecciona tu tecla bajo Teclas
  • selecciona Acción de tecla a Liberación de tecla

Tarea 2: Acciones:

  1. Variable → Establecer variable → Variable: %Set → A: 1

Utiliza la acción Suprimir tecla del Plugin → AutoInput → Modos, cuando sea necesario. Además, aún no he experimentado con el estado de apagado de la pantalla.

Ahora, la teoría: El flujo es de la siguiente manera:

  • Cuando se presione tu tecla seleccionada (digamos Tecla-X), el perfil 1 se activará.
  • Cuando se libere la tecla, el perfil 2 se activará.
  • Sabemos que para la pulsación larga la tecla necesita ser presionada continuamente durante algún tiempo.
  • Ahora, si presiono prolongadamente la Tecla-X entonces durante ese tiempo el perfil 2 no se activará y así puedo establecer %Set en 0 en el perfil 1 → esperar el tiempo de espera de pulsación larga (ligeramente menor) → verificar si %Set aún es 0 (%Set se convertirá en 1 si la tecla se libera) y luego ejecutar la acción de Vibrar.

¡Simple! Avísame si funciona para la tecla de Encendido.

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