Aktivieren des systemweiten immersiven Modus ohne Root

Da die Bildschirme der Telefone immer größer werden, möchten wir manchmal die Status- und Navigationsleiste ausblenden, damit wir unsere Inhalte auf dem gestochen scharfen, schönen HD-Bildschirm anzeigen können.

Ab Android 4.4 können Anwendungen den Immersive-Modus implementieren, um dem Endbenutzer ein echtes Vollbild-Erlebnis zu bieten. Leider haben Google und OEMs den Nutzern nie die Möglichkeit geboten, manuell zu steuern, wann sie den immersiven Modus aktivieren möchten. Eine Drittanbieteranwendung mit dem Namen GMD Full Screen Immersive Mode bietet seit einigen Jahren eine Problemumgehung. Das größte Problem bei der Verwendung dieser App ist jedoch, dass die Softtastatur beschädigt wird.

Benutzer haben einen ADB-Befehl verwendet, der seit geraumer Zeit einen systemweiten Immersive-Modus auslöst. Es wurde jedoch jahrelang angenommen, dass für die Verwendung dieses Befehls, wenn er von einem ADB-Terminal getrennt wird, Root-Zugriff erforderlich ist. Ende letzten Jahres stellten Benutzer jedoch fest, dass bestimmte ADB-Befehle tatsächlich ohne Root-Zugriff auf dem Gerät ausgelöst werden konnten, vorausgesetzt, die Anwendung verfügt über eine bestimmte Berechtigung. Dies bedeutet, dass Sie bei Bedarf den systemweiten immersiven Modus aktivieren können . Sie können beispielsweise eine Nougat-Kachel erstellen, um den Immersive-Modus umzuschalten, oder den Immersive-Modus für jede App einzeln festlegen.


Schaltet den immersiven Modus ohne Root um

Wie Sie im obigen Video sehen können, habe ich eine Nougat-Kachel erstellt, die den Immersive-Modus umschaltet, wenn ich darauf drücke. Dies ist auf meinem Huawei Mate 9 ohne Root, aber es sollte auf fast jedem Android 4.4+ Gerät funktionieren. Damit dies funktioniert, sind nur zwei Anwendungen erforderlich: Tasker und AutoTools Beta. Sie müssen auch AutoNotification installieren, wenn Sie daraus eine Nougat-Kachel erstellen möchten, dies ist jedoch nicht erforderlich.

Nachdem Sie beide Anwendungen installiert haben, müssen Sie AutoTools die Berechtigung WRITE_SECURE_SETTINGS erteilen, um den Immersive-Modus umschalten zu können (unter anderem tolle Einstellungen, die wir zu einem späteren Zeitpunkt behandeln werden). Dies liegt daran, dass der Befehl für den immersiven Modus in der Settings.Global- Klasse definiert ist, obwohl die genaue Syntax für den Befehl in AOSP verborgen ist. Zunächst wird erläutert, wie Sie AutoTools die erforderlichen Berechtigungen erteilen und anschließend den Befehl in Tasker verwenden.


Erteilen der Berechtigung für sichere Einstellungen für AutoTools

Im Berechtigungsverwaltungssystem von Android definieren Anwendungen die Berechtigungen, die sie erhalten möchten, in der Manifest-Datei. Benutzer können dann Berechtigungen bei der Installation (vor Marshmallow) oder bei Bedarf (Marshmallow +) erteilen oder verweigern. Es gibt jedoch bestimmte Berechtigungen, denen Anwendungen nicht gewährt werden können, auch wenn sie sie im Manifest anfordern, z. B. WRITE_SECURE_SETTINGS. Dies liegt daran, dass Sie jeder Anwendung eine Berechtigung erteilen, die so mächtig ist, dass diese App eine Menge Kontrolle über Ihr Gerät hat.

Es gibt jedoch eine Problemumgehung, mit der wir jeder gewünschten App die Berechtigung WRITE_SECURE_SETTINGS erteilen können. Mit dem Paketmanager-Tool (pm) von ADB können wir jeder gewünschten Anwendung jede Berechtigung erteilen (vorausgesetzt, die Anwendung fordert diese Berechtigung in der Manifest-Datei an).

Als Erstes müssen Sie die ADB-Binärdatei auf Ihrem Computer installieren, gefolgt vom richtigen Treiber für Ihr Gerät. Aktivieren Sie dann das USB-Debugging in den Entwickleroptionen (gehen Sie zu Einstellungen -> Über Telefon und tippen Sie siebenmal auf Build-Nummer, falls Sie dies noch nicht getan haben) und schließen Sie Ihr Telefon an Ihren Computer an. Senden Sie abschließend den folgenden Befehl, sobald Sie ein Terminal geöffnet haben:

adb shell pm grant com.joaomgcd.autotools android.permission.WRITE_SECURE_SETTINGS

Jetzt können Sie mit AutoTools alle globalen, sicheren oder Systemeinstellungen auf Ihrem Gerät ändern. Es gibt verschiedene Möglichkeiten, mit diesen Einstellungen herumzuspielen, und die Liste der verfügbaren Einstellungen in jeder Kategorie hängt vollständig von Ihrem Gerät und der Softwareversion ab. Diese Diskussion ist jedoch ein anderes Mal. In jedem Fall werden wir Ihnen zeigen, wie Sie mit AutoTools den Immersive-Modus umschalten können.


Verwenden von Tasker zum Umschalten des immersiven Modus über Nougat Tile

Das Umschalten des Immersive-Modus über eine Kachel erfordert natürlich Android Nougat. Wenn Sie also kein Nougat haben, überspringen Sie diesen Abschnitt, um zu erfahren, wie Sie es für jede App einzeln umschalten können. Wenn Sie dies noch nicht getan haben, laden Sie AutoNotification aus dem Google Play Store herunter und gewähren Sie ihm den Benachrichtigungszugriff. Mit diesem Tasker-Plug-In erstellen wir unsere eigene Benachrichtigungskachel.

Hier ist die Profilbeschreibung für diejenigen von Ihnen, die mit Tasker vertraut sind. Wenn Sie mit Tasker nicht so vertraut sind, lesen Sie die schrittweisen Anweisungen.

Immersiver Modus für Nougat-Kacheln umschalten

 Profile: Toggle Immersive Mode (30) Event: AutoNotification [ Configuration:Event Behaviour Filter: immersivemode ] Enter: Immersive Mode (33) A1: AutoNotification Tiles [ Configuration:Tile: 1 Command: immersivemode Label: Immersive mode Icon: /storage/emulated/0/Tasker/immersive.png State: 999 Timeout (Seconds):60 ] A2: AutoTools Secure Settings [ Configuration:Immersive Mode: Toggle Timeout (Seconds):60 ] 

Öffnen Sie Tasker und drücken Sie die Taste + in der rechten unteren Ecke. Erstellen Sie einen Ereigniskontext und wählen Sie Plugin -> AutoNotification. Klicken Sie auf das Stiftsymbol, um die Konfigurationsseite für AutoNotification zu öffnen. Geben Sie unter dem Befehlsfilter immersivemode ein . Dies ist der genaue Befehl, der gesendet wird, wenn wir auf ein Nougatplättchen tippen.

Erstellen Sie nun eine neue Aufgabe (mit einem beliebigen Namen), die an dieses Profil angehängt ist, und gehen Sie für die erste Aktion zu Plugin -> AutoNotification -> Tiles . Wählen Sie für die Kachelnummer die erste Kachel aus. Geben Sie für den Befehl immersivemode genau so ein, wie Sie es geschrieben haben. Das Etikett wird unter der Kachel angezeigt. Nennen Sie es also so etwas wie "Immersiver Modus". Speichern Sie das Symbol, das ich am Anfang dieses Abschnitts angehängt habe, in Ihrem internen Speicher und verwenden Sie es. Wählen Sie als Status Aktiv / Inaktiv umschalten.

Sobald Sie fertig sind, führen Sie die Aufgabe einmal aus (drücken Sie die Wiedergabetaste unten links im Fenster zum Erstellen der Aufgabe), damit die Kachel gefüllt wird. Sobald Sie die Liste der verfügbaren Benachrichtigungsfelder erweitert haben, sollte sich Ihr neuer Immersive-Modus umschalten.


Verwenden von Tasker zum Umschalten des immersiven Modus auf App-Basis

Das Umschalten des Immersive-Modus auf App-Basis ist ganz einfach. Wir müssen lediglich einen Anwendungskontext in Tasker erstellen, der beim Starten oder Schließen der Anwendung und beim Umschalten des Immersive-Modus ausgelöst wird. Damit Tasker Anwendungen überwachen kann, müssen Sie seinen Eingabehilfedienst aktivieren.

Hier ist die Profilbeschreibung für diejenigen von Ihnen, die mit Tasker vertraut sind. Wenn Sie mit Tasker nicht so vertraut sind, lesen Sie die schrittweisen Anweisungen.

Immersiver App-Modus

 Profile: Per-App Immersive Mode (192) Application: Chrome or Labs Enter: Anon (199) A1: AutoTools Secure Settings [ Configuration:Immersive Mode: Toggle Timeout (Seconds):60 ] Exit: Anon (204) A1: AutoTools Secure Settings [ Configuration:Immersive Mode: Toggle Timeout (Seconds):60 ] 

Sie möchten zunächst Tasker öffnen, da wir ein Profil erstellen, um den Immersive-Modus zu starten, wenn bestimmte Anwendungen geöffnet sind. Öffnen Sie Tasker und drücken Sie die Taste + in der rechten unteren Ecke, um ein neues Profil zu erstellen. Wählen Sie als Kontexttyp Anwendung aus und wählen Sie alle Anwendungen aus, in denen der Immersive-Modus aktiv sein soll.

Wenn Sie fertig sind, drücken Sie "Zurück" und der Tasker fordert Sie auf, einen Task zu erstellen. Die Aufgabe muss nicht benannt werden. Drücken Sie einfach auf das Häkchen, um mit der Erstellung der Aufgabe zu beginnen. Sobald Sie den Bildschirm zum Erstellen von Aufgaben aufgerufen haben, müssen Sie nur noch eine Aktion hinzufügen. Drücken Sie die Taste + unten und gehen Sie zu Plugin -> AutoTools -> Secure Setting . Drücken Sie auf das Stiftsymbol, um AutoTools zu konfigurieren. Gehen Sie hier zur Anzeige, tippen Sie auf Immersive Mode und wählen Sie " Toggle ".

Als letztes müssen wir den immersiven Modus deaktivieren, wenn Sie die Anwendung beenden. Kehren Sie zum Hauptbildschirm von Tasker zurück, und drücken Sie lange auf die gerade erstellte Aufgabe, um eine Aufgabe zum Beenden zu erstellen. Wenn Sie eine Exit-Aufgabe erstellen, fügen Sie einfach dieselbe Aktion hinzu, die Sie in der ersten Aufgabe hinzugefügt haben. Dadurch wird der Immersive-Modus umgeschaltet.


Feinabstimmung des immersiven Modus

Wie bereits erwähnt, können die genauen Befehle zum Erzwingen des Immersive-Modus von AOSP abgerufen werden. Sie können den Immersive-Modus so einstellen, dass nur die Benachrichtigungsleiste oder auch nur die Navigationsleiste ausgeblendet wird, indem Sie einen der folgenden Befehle ausführen:

settings put global policy_control immersive.status=*

Einstellungen setzen global policy_control immersive.navigation = *

Natürlich können Sie mit AutoTools solche Shell-Befehle nicht direkt senden, sondern Sie senden den Befehl über seine Schnittstelle. Wählen Sie einfach "Benutzerdefinierte Einstellung" in den AutoTools Secure-Einstellungen, setzen Sie den Einstellungstyp auf "global", setzen Sie den "Eingabetyp" auf "Zeichenfolge" und geben Sie als Namen "policy_control immersive.status = *" oder "policy_control immersive" ein .navigation = * ”. Sie können diesen Befehl anstelle des Befehls verwenden, den wir für das Nougat Tile-Steuerelement oder das Steuerelement pro App verwendet haben, wenn Sie den immersiven Modus bevorzugen, bei dem entweder die Statusleiste oder die Navigationsleiste ausgeblendet wird.


Herunterladen und in Tasker importieren

Wie immer stellen wir die XML-Datei des Skripts bereit, die Sie herunterladen und importieren können. Laden Sie die Datei einfach über den folgenden Link herunter und speichern Sie sie an einem beliebigen Ort in Ihrem internen Speicher. Öffne Tasker und deaktiviere den Anfängermodus in den Einstellungen. Kehren Sie dann zum Hauptbildschirm zurück und drücken Sie lange auf die Registerkarte „Profil“ oben oben. Es sollte ein Popup mit einer der Optionen "Importieren" angezeigt werden. Tippen Sie darauf und navigieren Sie zu dem Speicherort der .prf.xml-Datei und wählen Sie die zu importierende Datei aus.

Wenn Sie die Benachrichtigungskachel importieren möchten, stellen Sie sicher, dass Sie das Immersive-Modus-Symbol als immersive.png speichern und unter / sdcard / Tasker speichern. Wenn Sie das Pro-App-Profil importieren möchten, stellen Sie sicher, dass Sie die Anwendungen aufrufen und anpassen, für die es ausgelöst wird, da in meinem Beispiel festgelegt ist, dass es nur bei Verwendung von Chrome oder Labs ausgelöst wird.

Laden Sie das Immersive-Modus-Umschaltprofil für Benachrichtigungskacheln herunter Laden Sie das Immersive-Modus-Umschaltprofil für jede App herunter

Wir hoffen, Sie finden diesen Tipp hilfreich. Lassen Sie uns in den Kommentaren unten wissen, ob dies für Sie funktioniert!