Verhindern Sie versehentliche Neustarts, wenn Sie den Netzschalter gedrückt halten

Ich starte oft versehentlich mein Nexus 6 neu, während ich es in meiner Tasche habe, weil die Ein-/Aus-Tasten länger als 10 Sekunden gedrückt werden.

Angesichts der langen Bootzeiten kann das sehr nervig sein.

Ich verstehe, warum es wichtig ist, eine Möglichkeit zu haben, einen Neustart zu erzwingen, wenn er hängen bleibt, obwohl ich diese Art von Problem noch nicht hatte.

Gibt es eine Möglichkeit, das Force-Reboot-Verhalten zu ändern?

Erhöhen Sie möglicherweise die Zeit, in der der Netzschalter gedrückt werden muss, oder ändern Sie ihn in eine Tastenkombination (z. B. Lautstärke erhöhen + Netzschalter für 10 Sekunden) ... irgendetwas, das es weniger wahrscheinlich macht, dass er von meiner Tasche ausgelöst wird.

Wenn Sie die Ausrüstung und den Code zum Ändern des BIOS auf der Hauptplatine Ihres Telefons in die Hände bekommen, ist dies möglicherweise möglich, aber meines Wissens werden alle Android-Geräte neu gestartet, nachdem Sie den Netzschalter 10 Sekunden lang gedrückt gehalten haben eine Art Notfall-Neustart. Stellen Sie sich vor, Ihr Telefon hängt und lässt Sie nicht neu starten, es hat sogar einen eingebauten, nicht austauschbaren Akku. Sie müssten warten, bis der Akku leer ist, um Ihr Telefon wieder verwenden zu können.
@GiantTree Mir ist bekannt, warum diese Funktion existiert, und ich habe sie erwähnt. Ich wollte nur fragen, ob jemand einen Weg gefunden hat, wie man die Firmware optimieren kann.
Ich kann den erzwungenen Neustart nicht direkt umgehen, aber ich dachte, was wäre, wenn Sie per Vibration benachrichtigt werden könnten, dass sich das Gerät in der Tasche befindet und die Taste lange (höchstens 500 ms) klemmt? Das geht. Ich möchte wissen, ist das Gerät gerootet?
Wollte gerade Tasker sagen, aber ich kann keine Power-Button-Variable finden
@Firelord, das ist eine sehr interessante Idee! Ich hätte nichts dagegen, es zu rooten, damit es funktioniert.
@DanB Sie können AutoInput mit Tasker ausprobieren. In meiner Antwort unten schlug ich einen experimentellen Fall vor. Bitte sehen Sie, ob Sie es zum Laufen bringen können.
@Firelord Ich werde morgen früh einen Blick darauf werfen, suche gerade online nach einem neuen Telefon. Schauen Sie sich die Alcatel OneTouch Idols an....

Antworten (1)

Ich hatte gehofft, mit AutoInput etwas Flexibilität beim langen Drücken des Timeouts zu haben, aber die Apps verlangsamen mein Betriebssystem erheblich, um irgendetwas damit zu tun.

Wie auch immer, alles, was ich vorschlage, ist die Verwendung von Xposed Additions (kostenlos/kostenpflichtig; erfordert Xposed Framework ; wenn Sie Android 5.x haben, müssten Sie einige Dateien aus der benutzerdefinierten Wiederherstellung flashen. Siehe diesen XDA-Thread von rovo89 für einen solchen Fall).

Wir brauchen auch Tasker (bezahlt, 7 Tage kostenlose Testversion).

Anweisungen

(Getestet auf Android 5.0.2 und 5.1.1)

  1. Installieren Sie beide Apps → aktivieren Sie das Modul von Xposed Additions → starten Sie Xposed Additions

  2. Tippen Sie auf Schaltflächen → stellen Sie den Schieberegler für die Verzögerung bei langem Drücken auf das Maximum (500 ms) ein → Neuen Schlüssel hinzufügen → drücken Sie die Einschalttaste, um ihn auszuwählen → Ein/Aus

  3. Tippen Sie auf Neue Bedingung hinzufügen → Bildschirm aus → Bildschirm aus → Langes Drücken aktivieren → Verknüpfung → Aufgabenverknüpfung → Neue Aufgabe → Aufgabe benennen.

    Hinweis: Sie können den MacroDroid Shortcut von MacroDroid anstelle des Task Shortcut ausprobieren . Die kostenlose Version ist auf eine Aktion pro Makro beschränkt, sodass Sie keine Flexibilität erhalten würden, aber hier ist es akzeptabel.

  4. Für Ihre Aufgabe wäre die Aktion:

    • Alarm → VibrierenZeit : Wählen Sie die Vibrationszeit (in Millisekunden)

    Es ist möglich, dass die Vibration für 1000 ms für Sie nicht ausreicht. Fügen Sie in diesem Fall eine Kombination von Aktionen hinzu. Zusätzlich zur letzten Vibrationsaktion können Sie beispielsweise auch Folgendes tun:

    • Aufgabe → Warten → Wählen Sie MS oder/und Sekunden etwas größer als Millisekunden, die in der letzten Vibrationsaktion ausgewählt wurden

      Warten ist wichtig, denn wenn Sie fortlaufende Vibrationsaktionen hinzufügen, würden Sie am Ende fast alle außer der ersten überspringen. Tasker stellt keine Vibrationsanfragen in die Warteschlange, wie es mir scheint.

    • Fügen Sie nun eine weitere Vibrationsaktion hinzu und kopieren Sie den gesamten Zyklus so oft Sie möchten.
  5. Wählen Sie ein Symbol für Ihre Aufgabe und los geht's.

Sie können Ihre Lösung jetzt testen.


Experimental

Für Benutzer, bei denen AutoInput zufriedenstellend ausgeführt wird, können Sie das lange Drücken einer Taste emulieren. Ich habe meine Lösung mit der Lauter-Taste getestet und sie hat perfekt funktioniert. Naja fast !

Für Tasker:

Profil 1: Ereignis → Plugin → AutoInput → Schlüssel → Konfiguration:

  • Wählen Sie Ihren Schlüssel unter Schlüssel aus
  • Wählen Sie Key Action to Key Down

Aufgabe 1: Aktionen:

  1. Variable → Variablensatz → Variable: %Set→ Bis:0
  2. Aufgabe → Warten → Wählen Sie MS oder Sekunden für das gewünschte Zeitlimit für langes Drücken. Wählen Sie 1 Sekunde für experimentelle Zwecke
  3. Aufgabe → Wenn →%Set eq 0
  4. Alarm → Vibrieren → Zeit: 1000 ms

Profil 2: Ereignis → Plugin → AutoInput → Schlüssel → Konfiguration:

  • Wählen Sie Ihren Schlüssel unter Schlüssel aus
  • Wählen Sie Key Action to Key Up

Aufgabe 2: Aktionen:

  1. Variable → Variablensatz → Variable: %Set→ Bis:1

Verwenden Sie die Aktion Key Suppress von Plugin → AutoInput → Modes, wo immer es notwendig erscheint. Außerdem habe ich noch nicht mit dem Bildschirm-Aus-Zustand experimentiert.

Nun die Theorie: Der Fluss ist auf diese Weise:

  • Wenn Ihre ausgewählte Taste (z. B. Taste-X) gedrückt wird, wird Profil 1 aktiviert.
  • Beim Loslassen der Taste wird Profil 2 aktiviert.
  • Wir wissen, dass die Taste für langes Drücken einige Zeit lang ununterbrochen gedrückt werden muss.
  • Wenn ich jetzt Taste-X lange drücke, wird Profil 2 vorerst nicht aktiviert, und so kann ich in Profil 1 einstellen %Set0auf Zeitüberschreitung bei langem Drücken warten (etwas weniger) → prüfen, ob %Setnoch ist 0( %Setwürde werden , 1wenn Taste losgelassen wird) und führen Sie dann die Vibrationsaktion aus.

Einfach! Lassen Sie mich wissen, ob es für die Ein- / Aus-Taste funktioniert.