So aktivieren Sie den systemweiten immersiven Modus ohne Root

Ein Tutorial zum systemweiten Aktivieren des Immersive-Modus (oder auf App-Basis), ohne dass Root-Zugriff erforderlich ist. Funktioniert auf allen Android 4.4+-Geräten.

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

Ab Android 4.4 konnten Anwendungen implementiert werden Immersiver Modus um einem Endbenutzer wirklich ein Vollbilderlebnis zu bieten. Leider haben Google und OEMs den Nutzern nie die Möglichkeit geboten, manuell zu steuern, wann sie den Immersive Mode aktivieren möchten. Eine Drittanbieteranwendung namens GMD Immersiver Vollbildmodus bietet seit einigen Jahren eine Problemumgehung, aber das größte Problem bei der Verwendung dieser App ist, dass sie die Softtastatur kaputt macht.

Benutzer schwirren schon seit geraumer Zeit um einen ADB-Befehl herum, der einen systemweiten Immersive-Modus auslöst, aber Jahrelang glaubte man, dass für die Verwendung dieses Befehls, wenn er nicht an ein ADB-Terminal angeschlossen ist, Root erforderlich wäre Zugang. Ende letzten Jahres stellten Benutzer jedoch fest, dass bestimmte ADB-Befehle tatsächlich auf dem Gerät ausgelöst werden konnten 

ohne Root-Zugriff, sofern die Anwendung über eine bestimmte Berechtigung verfügt. Das bedeutet, dass Sie es können Aktivieren Sie den systemweiten immersiven Modus auf Anfrage. Sie können beispielsweise eine Nougat-Kachel erstellen, um den Immersive-Modus umzuschalten, oder den Immersive-Modus sogar für jede einzelne App festlegen.


Schalten Sie den Immersive-Modus ohne Root um

Wie Sie im Video oben sehen können, habe ich eine Nougat-Kachel erstellt, die den Immersive-Modus umschaltet, wenn ich darauf drücke. Dies ist auf meinem nicht gerooteten Huawei Mate 9, aber es sollte funktionieren fast jedes Android 4.4+ Gerät. Damit dies funktioniert, benötigen Sie nur zwei Anwendungen: Tasker Und AutoTools-Beta. Sie müssen auch installieren Automatische Benachrichtigung Wenn Sie daraus eine Nougat-Fliese machen möchten, ist dies jedoch nicht erforderlich.

Sobald Sie beide Anwendungen installiert haben, müssen Sie die Genehmigung erteilen WRITE_SECURE_SETTINGS Berechtigung für AutoTools, um den Immersive-Modus umschalten zu können (neben anderen tollen Einstellungen, die wir später behandeln werden). Dies liegt daran, dass der Befehl für den Immersive-Modus unter definiert ist Einstellungen. Global Klasse, obwohl die genaue Syntax für den Befehl in AOSP verborgen ist. Wir gehen zunächst darauf ein, wie Sie AutoTools die erforderliche Berechtigung erteilen und dann den Befehl in Tasker verwenden.


Im Berechtigungsverwaltungssystem von Android definieren Anwendungen die Berechtigungen, die ihnen gewährt werden sollen, in der Manifestdatei. Benutzer können dann Berechtigungen bei der Installation (vor Marshmallow) oder bei Bedarf (Marshmallow+) erteilen oder verweigern. Es gibt jedoch bestimmte Berechtigungen, die Anwendungen nicht erteilt werden können, selbst wenn sie dies im Manifest anfordern, z WRITE_SECURE_SETTINGS. Dies liegt daran, dass die Gewährung einer derart mächtigen Berechtigung einer Anwendung dieser App weitreichende Kontrolle über Ihr Gerät geben würde.

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

Das erste, was Sie tun müssen, ist Installieren Sie die ADB-Binärdatei auf Ihren Computer, gefolgt von der Finden Sie den richtigen Treiber für Ihr Gerät. Aktivieren Sie dann das USB-Debugging in den Entwickleroptionen (gehen Sie zu Einstellungen -> Über das Telefon und tippen Sie sieben Mal auf Build-Nummer, falls Sie dies noch nicht getan haben) und verbinden Sie Ihr Telefon mit Ihrem Computer. 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 haben AutoTools die Möglichkeit, alle globalen, sicheren oder Systemeinstellungen auf Ihrem Gerät zu ändern. Es gibt verschiedene Möglichkeiten, mit diesen Einstellungen und der Liste der verfügbaren Einstellungen in herumzuspielen Jede Kategorie hängt vollständig von Ihrem Gerät und Ihrer Softwareversion ab, aber diese Diskussion ist eine andere Zeit. In jedem Fall zeigen wir Ihnen, wie Sie mit AutoTools den Immersive-Modus umschalten.


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

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

Hier ist die Profilbeschreibung für diejenigen unter Ihnen, die mit Tasker vertraut sind. Wenn Sie mit Tasker nicht so vertraut sind, lesen Sie weiter, um eine Schritt-für-Schritt-Anleitung zu erhalten.

Nougat Tile Immersive-Modus 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: AutoToolsSecureSettings[ Configuration: Immersive Mode: Toggle Timeout (Seconds):60 ]

mehr lesen

Öffnen Sie Tasker und drücken Sie die Taste + Schaltfläche in der unteren rechten Ecke. Erstelle ein Ereignis Kontext hinzufügen und auswählen Plugin -> AutoNotification. Klicken Sie auf das Stiftsymbol, um die Konfigurationsseite für AutoNotification zu öffnen. Unter dem Befehlsfilter eingeben immersiver Modus. Dies ist der genaue Befehl, der gesendet wird, wenn wir auf eine Nougat-Kachel tippen.

Erstellen Sie nun eine neue Aufgabe (mit beliebigem Namen), die an dieses Profil angehängt ist, und gehen Sie für die erste Aktion zu Plugin -> AutoNotification -> Kacheln. Wählen Sie für die Kachelnummer die erste Kachel aus. Für die Befehl eingeben immersiver Modus genau wie geschrieben. Der Etikett wird unter der Kachel angezeigt, nennen Sie es also etwa „Immersiver Modus“. Für die Symbol, speichern Sie das Symbol, das ich am Anfang dieses Abschnitts angehängt habe, in Ihrem internen Speicher und verwenden Sie ihn. Endlich für die Zustand wählen Aktiv/Inaktiv umschalten.

Wenn Sie fertig sind, führen Sie die Aufgabe einmal aus (drücken Sie die Wiedergabetaste unten links im Bildschirm zur Aufgabenerstellung), damit die Kachel gefüllt wird. Sobald Sie nun die Liste der verfügbaren Benachrichtigungskacheln erweitern, sollten Sie Ihren neuen Immersive-Modus-Schalter sehen.


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

Das Umschalten des immersiven Modus pro App ist ganz einfach. Wir müssen lediglich einen Anwendungskontext erstellen Tasker, der ausgelöst wird, wenn die Anwendung gestartet oder geschlossen wird, und wenn dies der Fall ist, befindet sich der Immersive-Modus umgeschaltet. Damit Tasker Anwendungen überwachen kann, müssen Sie es aktivieren Barrierefreiheitsdienst.

Hier ist die Profilbeschreibung für diejenigen unter Ihnen, die mit Tasker vertraut sind. Wenn Sie mit Tasker nicht so vertraut sind, lesen Sie weiter, um eine Schritt-für-Schritt-Anleitung zu erhalten.

Immersiver Modus pro App

Profile: Per-App Immersive Mode (192)
Application: Chrome or XDA Labs
Enter: Anon (199)
A1: AutoToolsSecureSettings[ Configuration: Immersive Mode: Toggle Timeout (Seconds):60 ]

Exit: Anon (204)
A1: AutoToolsSecureSettings[ Configuration: Immersive Mode: Toggle Timeout (Seconds):60 ]

mehr lesen

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 + Klicken Sie unten rechts auf die Schaltfläche, um ein neues Profil zu erstellen. Wählen Sie als Kontexttyp aus Anwendung 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 Tasker fordert Sie auf, eine Aufgabe zu erstellen. Es ist nicht erforderlich, der Aufgabe einen Namen zu geben. Klicken Sie einfach auf das Häkchen, um mit der Aufgabenerstellung zu beginnen. Sobald Sie den Bildschirm zur Aufgabenerstellung aufrufen, müssen Sie nur noch eine Aktion hinzufügen. Drücken Sie die Taste + Klicken Sie unten auf die Schaltfläche und gehen Sie zu Plugin -> AutoTools -> Sichere Einstellung. Drücken Sie auf das Stiftsymbol, um AutoTools zu konfigurieren. Hier, gehen Sie zu Anzeige dann tippen Sie auf Immersiver Modus und wähle "Umschalten."

Als letztes müssen wir noch etwas tun: Den Immersive-Modus deaktivieren, wenn Sie die Anwendung beenden. Gehen Sie zurück zum Hauptbildschirm von Tasker und lange drücken auf die Aufgabe, die Sie gerade erstellt haben, damit Sie eine erstellen können Aufgabe beenden. 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 ich bereits erwähnt habe, können die genauen Befehle, die zum Erzwingen des Immersive-Modus verfügbar sind, sein entnommen aus AOSP. 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=*

settings put global policy_control immersive.navigation=*

Natürlich können Sie mit AutoTools solche Shell-Befehle nicht direkt senden, sondern Sie senden den Befehl stattdessen über die Schnittstelle. Wählen Sie einfach „Benutzerdefinierte Einstellung“ in den sicheren Einstellungen von AutoTools, stellen Sie den Einstellungstyp auf „global“ und den „Eingabetyp“ auf ein „String“ und als Name müssen Sie „policy_control immersive.status=*“ oder „policy_control“ eingeben immersive.navigation=*". Sie können diesen Befehl anstelle des Befehls verwenden, den wir für die Nougat-Kachel oder die Steuerung 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 zur Verfügung, die Sie herunterladen und importieren können. Laden Sie die Datei einfach über den untenstehenden Link herunter und speichern Sie sie irgendwo auf Ihrem internen Speicher. Öffnen Sie Tasker und deaktivieren Sie den Anfängermodus in den Einstellungen. Gehen Sie dann zurück zum Hauptbildschirm und drücken Sie lange auf die Registerkarte „Profil“ oben. Sie sollten ein Popup mit einer der Optionen „Importieren“ sehen. Tippen Sie darauf, navigieren Sie zu dem Speicherort, an dem Sie die Datei .prf.xml gespeichert haben, und wählen Sie die zu importierende Datei aus.

Wenn Sie sich für den Import der Benachrichtigungskachel entscheiden, stellen Sie sicher, dass Sie das Immersive-Modus-Symbol als immersive.png speichern und es unter /sdcard/Tasker speichern. Wenn Sie sich für den Import des Pro-App-Profils entscheiden, stellen Sie sicher, dass Sie die Anwendungen anpassen, bei denen es ausgelöst wird, da mein Beispiel so eingestellt ist, dass es nur bei Verwendung von Chrome oder XDA Labs ausgelöst wird.

Laden Sie den Immersive Mode Toggle für die Benachrichtigungskachel herunter

Laden Sie das Profil zum Umschalten des immersiven Modus pro App herunter

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