So ändern Sie die Navigationsleisten-Symbole oder ordnen die Schaltflächen ohne Root neu an

Diejenigen von Ihnen, die die erste Android O Developer Preview ausführen, haben möglicherweise mit dem versteckten Navigationsleisten-Customizer im SystemUI-Tuner herumgespielt. Dieser Navigationsleisten-Customizer gibt es schon seit Monaten in AOSP, aber es wurde angenommen, dass der Zugriff auf ihn unter Android Nougat nur über eine Änderung der System-UI-APK möglich ist, für die natürlich Root-Zugriff erforderlich ist. Erst in dieser Woche stellten wir fest, dass der versteckte Navigationsleisten-Customizer von Android Nougat tatsächlich aufgerufen werden kann, ohne dass Root-Zugriff, ein benutzerdefiniertes ROM oder ein System-UI-Mod erforderlich sind. Mit dieser Funktion können wir die Navigationsleisten-Symbole ändern, die Tasten vertauschen oder zusätzliche Schaltflächen hinzufügen.

Das ist richtig - es ist möglich, Ihre Navigationsleiste in einem vollständig vorrätigen, nicht gerooteten ROM mit einem gesperrten Bootloader zu ändern. Funktionalität, von der man glaubt, dass sie auf Android beschränkt ist O ist für jeden zugänglich, der Android Nougat auf Nexus-, Pixel-, OnePlus- und einigen Sony-, HTC- und Motorola-Handys ausführt. Wenn auf Ihrem Gerät Software ausgeführt wird, die in der Nähe der Google-Software liegt (sorry Samsung- und Huawei / Honor-Benutzer), ist auf Ihrem Gerät möglicherweise der AOSP-Navigationsleisten-Customizer verborgen, den wir verwenden können. In diesem Tutorial zeige ich Ihnen, wie Sie die Schaltflächensymbole mit dem Navigationsleisten-Customizer nach Belieben ändern oder in der gewünschten Reihenfolge neu anordnen können.

Google Pixel Nav Bar auf dem Nexus 6

Umgekehrte Navigationsleiste im Nexus 6


Ändern der Navigationsleiste - Setup

Anforderungen : Sie benötigen ein Gerät, das mit dem AOSP-Navigationsleisten-Customizer kompatibel ist. Siehe den Abschnitt "Kompatibilität" in diesem Thread. (Hinweis: Ihr Gerätehersteller oder Gerätetyp ist möglicherweise nicht in diesem Thread aufgeführt. Die einzige Möglichkeit, um sicherzugehen, dass Ihr Gerät kompatibel ist, besteht darin, es auszuprobieren. Wir zeigen Ihnen nachfolgend, wie Sie vorgehen müssen.

Es gibt zwei Möglichkeiten, unsere Navigationsleiste zu ändern. Einer ist mit einer App und der andere mit ADB-Shell-Befehlen (so funktioniert die App). Der Vollständigkeit halber werden wir Ihnen beide zeigen. Beachten Sie jedoch, dass Sie die Symbole der Navigationsleiste ab sofort nicht mehr über die App ändern können, bis der Entwickler seine App aktualisiert, um diese Funktion einzuschließen.

Das erste, was wir tun müssen, ist sicherzustellen, dass es sogar möglich ist, die Navigationsleiste auf Ihrem Gerät zu ändern. Wenn Ihr Gerät eines der Geräte ist, die im Thread "Benutzerdefinierte Navigationsleiste" als kompatibel aufgeführt sind, ist dies wahrscheinlich. Wir können dies überprüfen, indem wir das kurze Tutorial durchgehen, das dieser App beiliegt.

Installieren Sie die App aus dem Google Play Store (und melden Sie sich auch zum Betatest an, damit wir ihre experimentelle Funktion verwenden können, um die Navigationsleiste später neu anzuordnen). Öffnen Sie als Nächstes die App und fahren Sie mit den Einführungsbildschirmen fort. In der benutzerdefinierten Navigationsleiste werden Sie aufgefordert, eine bestimmte Berechtigung mit dem Namen WRITE_SECURE_SETTINGS zu erteilen, um mit der Verwendung der App fortfahren zu können. Es gibt zwei Möglichkeiten, wie in der Anwendung angegeben.

  1. Wenn Sie ein gerootetes Gerät haben, öffnen Sie den Terminal-Emulator auf Ihrem Telefon und gewähren Sie ihm root-Zugriff, indem Sie su eingeben. pm grant xyz.paphonb.systemuituner android.permission.WRITE_SECURE_SETTINGS Befehl ein: pm grant xyz.paphonb.systemuituner android.permission.WRITE_SECURE_SETTINGS
  2. Wenn Ihr Gerät nicht gerootet ist, müssen Sie die Berechtigung über ADB erteilen. Öffnen Sie eine Eingabeaufforderung / ein Terminal auf Ihrem Computer und geben Sie den folgenden Befehl ein: adb shell pm grant xyz.paphonb.systemuituner android.permission.WRITE_SECURE_SETTINGS

Sobald Sie der App diese Berechtigung mit einer der beiden oben genannten Methoden erteilt haben, führt die App einen Kompatibilitätstest durch. Wenn sich Ihre Navigationsleiste nicht ändert, haben Sie leider kein Glück. Wenn sich Ihre Navigationsleiste dahingehend ändert, dass ein Rechtspfeil angezeigt wird, wird Ihr Gerät unterstützt. Wir können jetzt mit dem Ändern unserer Navigationsleiste fortfahren.


Die Navigationsleisten-Schaltflächen neu anordnen

App-Methode

Nachdem Sie die App eingerichtet haben, können Sie die Schaltflächen der Navigationsleiste ganz einfach neu anordnen. Sie müssen sich in der Beta-Testversion der benutzerdefinierten Navigationsleisten-App befinden, um dies ausführen zu können. Gehen Sie also zurück und vergewissern Sie sich, dass Sie sich im Beta-Kanal befinden, bevor Sie fortfahren.

Wenn Sie sich in der Beta-Version befinden, wird im Abschnitt "Einstellungen" ein Abschnitt mit dem Namen " Experimentelle Optimierungen" angezeigt. Wenn Sie darauf tippen, werden Optionen angezeigt, mit denen Sie die vorhandenen Tasten "Zurück", "Privat" und "Zuletzt verwendet" ersetzen können. Sie können Ihre Schlüssel hier ganz einfach neu anordnen, indem Sie die Schaltfläche "Zurück" in die Schaltfläche "Übersicht" (Zuletzt verwendet) und die Schaltfläche "Übersicht" (Zuletzt verwendet) in die Schaltfläche "Zurück" ändern. Oder ändern Sie sie, wie Sie möchten. Hier gibt es keine wirklichen Einschränkungen. Nachdem Sie Ihre Schlüssel getauscht haben, können Sie auch mit den Layoutoptionen im Einstellungsmenü der Navigationsleiste herumspielen.

ADB-Methode

Und so geht es auch mit ADB-Befehlen, wenn Sie das bevorzugen. Der Befehl, den wir ändern werden, ist die Einstellung Secure mit dem Namen sysui_nav_bar. Diese Einstellung ist eine Zeichenfolge, die das Navigationsleistenlayout enthält. Die Standardstruktur der Voreinstellung lautet wie folgt

 space, back;home;recent, space 

Wobei Leerzeichen ein leerer Bereich ist, der die Tasten der Navigationsleiste voneinander trennt, und Back, Home und Recent die drei Standardschaltflächen in der Navigationsleiste darstellen. Wenn wir zum Beispiel die Rückseite und den letzten Schlüssel austauschen möchten, müssen wir die Zeichenfolge wie folgt ändern

 space, recent;home;back, space 

Hinweis: Wenn Sie versuchen, einen der folgenden Befehle aus einer Root-Shell-Umgebung wie dem Terminal-Emulator auf Ihrem Telefon einzugeben, müssen Sie "adb shell" aus den Befehlen entfernen, bevor Sie sie senden.

Um diese Zeichenfolge tatsächlich zu ändern, müssen Sie den ADB-Shell-Befehl mit dieser Syntax verwenden

 adb shell settings put secure sysui_nav_bar "STRING" 

Daher würde der Befehl, den wir zum Vertauschen der letzten und der letzten Taste senden, so aussehen

 adb shell settings put secure sysui_nav_bar "space, recent;home;back, space" 

Wie Sie sich vorstellen können, ist dies ziemlich flexibel. Sie können die Tasten beliebig verschieben, indem Sie den Zeichenfolgenwert der Voreinstellung ändern. Zum Beispiel können wir unsere umgedrehten Navigationsleisten-Tasten linksbündig oder rechtsbündig machen, indem wir die Position der beiden Leerzeichen ändern:

Linksbündig:

 adb shell settings put secure sysui_nav_bar "recent;home;back, space, space" 

Begründet:

 adb shell settings put secure sysui_nav_bar "space, space, recent;home;back" 

Sie können die Schaltflächen der Navigationsleiste jedoch auch so ändern, dass sie sich von den Standard-Tasten für die Rückseite, die Startseite oder die letzten Schlüssel unterscheiden, z. B. das Senden eines der vielen KeyEvents. Dies werden wir im nächsten Abschnitt nutzen, in dem wir Ihnen zeigen, wie Sie die Symbole auf den Schaltflächen der Navigationsleiste ändern.


Benutzerdefinierte Navigationsleisten-Symbole

Nun, der folgende Abschnitt scheint vielleicht kein großes Problem zu sein, da es im Play Store zahlreiche Anwendungen gibt, die versprechen, Ihre Navigationsleiste ohne Root zu ändern. Und sie funktionieren - viele Benutzer berichten jedoch, dass diese Apps in bestimmten Apps wie Chrome, beim Abspielen von Vollbildvideos oder einigen Spielen fehlerhaft sind. Darüber hinaus müssen Sie für viele dieser Apps einen Eingabehilfedienst aktivieren, um Apps zu überwachen und zu ermitteln, wann die Navigationsleiste neu eingefärbt werden muss. Dies kann die Leistung beeinträchtigen. Wenn Sie sich zu lange auf diese Apps verlassen, werden Sie plötzlich überrascht sein, dass sie nicht mehr funktionieren, wenn Android O auf den Markt kommt, da die nächste Android-Version die Fähigkeit dieser Apps einschränkt, auf Elemente der System-Benutzeroberfläche zuzugreifen.

Die von uns verwendete Methode basiert auf Googles Implementierung des Navigationsleisten-Tuners, sodass keines dieser Probleme vorliegt. Es gibt jedoch derzeit ein Problem, über das wir uns im Klaren sein möchten: Wenn Sie diese Methode wählen, um Ihre Startschaltfläche zu ändern, funktioniert die Aktion der langgedrückten Startschaltfläche nicht mehr, sodass Sie nicht mehr schnell auf Google Assistant zugreifen können die Home-Taste mehr. Wenn Sie damit einverstanden sind, erfahren Sie, wie Sie die Symbole in der Navigationsleiste ändern.

Als Erstes müssen Sie die Symbole herunterladen, durch die Sie die Symbole Ihrer Standard-Navigationsleistenschlüssel ersetzen möchten. Ich werde Ihnen Download-Links zur Verfügung stellen, über die Sie die Google Pixel-Navigationsleisten-Symbole herunterladen können. Es liegt jedoch an Ihnen, Ihre eigenen Symbole zu finden, wenn Sie etwas anderes wünschen. Sie benötigen die Symbole im PNG-Format. Was die Größe betrifft, können Sie die Größe der Symbole bestimmen, indem Sie die Anzeigedichtemetriken Ihres Geräts in Material.io nachschlagen und diese mit einer Referenztabelle für die Symbolgröße korrelieren.

Credits für das Extrahieren dieser Google Pixel-Navigationsleisten-Symbole gehen an Senior Member dariomrk. Laden Sie dieses Archiv herunter, wenn Sie ein 1920x1080p-Display haben, und dieses, wenn Sie ein 2560x1440p-Display haben. Extrahieren Sie den Inhalt einer der ZIP-Dateien in einen Ordner namens "NavIcons" im Stammverzeichnis Ihres Speichers.

Sobald Sie die Symbole an der richtigen Stelle haben, geben Sie den folgenden ADB-Shell-Befehl ein (Warnung, es ist ein langer):

 adb shell settings put secure sysui_nav_bar "space, key(4:file:///storage/emulated/0/NavIcons/back.png);key(3:file:///storage/emulated/0/NavIcons/home.png);key(187:file:///storage/emulated/0/NavIcons/recents.png), space" 

Dieser Befehl ersetzt die Tasten back, home und recent durch KeyEvents, die dieselbe Funktion ausführen. Insbesondere wird back durch KEYCODE_BACK, home durch KEYCODE_HOME und recent durch KEYCODE_APP_SWITCH ersetzt. Diese Tastencodes haben genau die gleiche Funktion, aber da wir KeyEvents verwenden, können wir angeben, welches Symbol wir für sie verwenden möchten. In diesem Fall zeigen wir auf die Dateien back.png, home.png und recents.png, die wir in / NavIcons gespeichert haben.

Durch das Ersetzen der Standardtasten durch KeyEvents verlieren wir jedoch die Fähigkeit, lange zu Hause zu bleiben, da es derzeit keine Möglichkeit gibt, Ereignisse bei langen Drücken von simulierten Tasteneingaben zu erkennen.

Mir ist klar, dass diese Methode derzeit möglicherweise nicht ideal oder einfach zu implementieren ist, aber zum Zeitpunkt des Schreibens dieses Dokuments wurde die benutzerdefinierte Navigationsleisten-App nicht aktualisiert, um das Hinzufügen eigener Symbole zu unterstützen. Im Moment besteht meine Methode (genau so funktioniert diese App, und wenn die App aktualisiert wird, unterliegt sie denselben Einschränkungen) darin, wie Sie die gewünschten benutzerdefinierten Symbole in Ihrer Navigationsleiste anzeigen können.


Das war's für dieses Tutorial. In zukünftigen Tutorials werde ich mögliche praktische Verwendungsmöglichkeiten für das Ändern Ihrer Navigationsleiste aufzeigen, insbesondere in einer kontextbezogenen Weise mit einer Automatisierungs-App wie Tasker. Folgen Sie der Kategorie Tutorials, um über die neuesten Tipps und Tricks, die wir veröffentlichen, auf dem Laufenden zu bleiben.