Kampf dem Notch: Wie du Wichtiges oben am Bildschirm siehst und den Müll nicht
Notches werden grösser und der Platz für die Status Bar kleiner. Da geht gerne einiges verloren. Dass du die Kontrolle über deine eigene Status Bar behältst, wird immer schwieriger. Daher habe ich mich tief in den Einstellungen Androids umgesehen und zwei Lösungen.
Die Welt ist sich einig: Notches nerven. Und die Industrie so: «Jeder will Notches. Je grösser desto besser.»
Okay. Dann müssen wir halt selbst ran und uns mit den Notches – den Einbuchtungen vorne oben am Bildschirm, wo Kamera und Speaker untergebracht sind –, zurechtfinden, so lange die Industrie mit Notches wurschtelt.
Egal, wie gut die Software den Notch handhabt, dir geht wertvoller Platz verloren. Denn die Status Bar, der Balken, der vom Notch unterbrochen wird, liefert dir wichtige Informationen:
- Status-Mitteilungen: Empfangstärke, Mobilfunkanbieter, Batterie, Lautstärke des Klingelns
- Updates: Neue Mails, neue Messages, verpasste Anrufe, Tinder Matches, offene Incognito-Tabs…
Wenn der Notch zu gross ist, dann kommt das Phone in die Bredouille und kann nicht mehr alles anzeigen. So geschehen bei meinem Vorserienmodell des Huawei Mate 20 Pro. Da Huawei nicht nur Kamera und Speaker im Notch verbaut hat, sondern auch noch einen 3D-Scanner, ist der Notch breit. Auf die mit dem Massstab im Büro gemessenen 68 Millimeter Bildschirmbreite kommen 35 Millimeter Notch.
Da muss das Phone priorisieren. Was ist denn wirklich relevant? Was nicht? Da das Mate 20 Pro keinerlei Optionen für die Priorisierung von Status Bar Updates hat, muss ich das halt selbst übernehmen. Dazu ein paar wichtige Notizen:
- Es kann gut sein, dass in deinem Serienmodell des Mate 20 Pro ein Notch Management verbaut ist. Die Software auf meinem Gerät ist nicht final.
- Alles, was ich in diesem Artikel zeige, funktioniert soweit ich weiss auf jedem Android-Gerät, das eine Status Bar hat.
- Du kannst recht wenig kaputt machen.
- Du brauchst einen Computer mit Admin-Rechten.
Das Problem im Detail
Eine Status Bar folgt, wie alles andere auf deinem Phone auch, einer gewissen Logik. So weit ich diese auf dem Mate 20 Pro nachvollziehen kann, ist es, dass da vier Icons links vom Notch dargestellt werden und vier rechts. Einige Status-Updates – Batterielevel, Providername und Uhr – dürfen mit dem brechen. Apps nicht. Das ergibt folgendes Gitter:
Das Mate 20 Pro entscheidet sich falsch. Es priorisiert Statusinformationen über Updates. Das heisst, wenn ich Providername, WLAN-Informationen, einen Wecker und Spotify links habe, dann hat es keinen Platz mehr für das WhatsApp-Symbol, sollte eine neue Message eintrudeln. Dieses Icon wird dann einfach nicht dargestellt.
Einige Hersteller haben das erkannt, allen voran OnePlus. Im OnePlus 6 kannst du in den Einstellungen festlegen, welche Icons du sehen willst, und welche nicht.
Das bedeutet eines: Es ist möglich, die Icons auf Software-Ebene zu kontrollieren. Es gibt zwei Möglichkeiten, das hinzukriegen. Zuerst zeige ich den Weg, der für Entwickler ist, aber unvollständig. Da kannst du mithelfen, wenn du willst. Der zweite Weg ist via App, aber auch dort brauchst du die Android Developer Bridge.
An die Arbeit.
Aktiviere die Developer Options und USB Debugging
Für beide Methoden, die ich hier aufzeige brauchst du Folgendes:
- Einen PC mit Admin-Rechten.
- Die Treiber für dein Phone. Die meisten Hersteller bieten das in einem Paket an, das du in der Regel von ihrer Website runterladen kannst, sofern sie nicht schon verbaut sind. Huawei macht das, als Beispiel, mit seiner HiSuite.
- Minimal ADB and Fastboot.
- Ein USB-Kabel, das dein Handy mit dem PC verbindet.
Installier Treiber und Software. Damit all das funktioniert, musst du die Developer Options deines Phones aktivieren und den Zugriff via USB auf dein Phone erlauben. Dieser ist in der Regel aus Sicherheitsgründen gesperrt. Daher: Nachdem du fertig bist, den USB Debugging Mode unbedingt wieder deaktivieren.
- Geh in die Settings des Phones.
- Such den Menüpunkt About Phone.
- Tippe dort fünf mal schnell auf Build Number.
- Am unteren Bildschirmrand erscheint eine Meldung die sagt «You are now a developer».
Wenn du alles richtig gemacht hast, kannst du USB Debugging aktivieren. Das ist die Option, die du brauchst, damit du vom PC aus mit deinem Phone sprechen kannst.
- Geh auf Settings
- System
- Developer Options
- Aktiviere USB Debugging
Jetzt bleibt nur noch schnell die Kontrolle, ob dein PC mit dem Phone kommunizieren darf. Öffne ein Konsolenfenster und gib folgende Zeile ein:
adb devices
Solltest du alles richtig gemacht haben, taucht da ein Eintrag auf. Wenn nicht, überprüfe, ob du den Guide bis hierhin genau eingehalten hast und sowohl auf dem Phone wie auch dem PC alle Berechtigungen erteilt hast.
Der manuelle Weg nur via adb
Ab hier wird die Sache einfach, denn mit einer Kommandozeile kannst du Icons verbergen. Aber genau da ist die Crux der Sache. Du hast nur die eine Zeile, denn du übergibst dem Android System ein Array. Schauen wir uns das schnell im Detail an. Das Kommando lautet wie folgt:
adb shell settings put secure icon_blacklist [Icons mit Komma unterteilt hier] && adb reboot
Eigentlich sind das zwei Kommandos, denn wir verbinden hier zwei Zeilen. Der Part «&& adb reboot» sagt im Wesentlichen «Tu zuerst das, was vorne dran steht, und dann starte das Phone neu».
adb shell settings put secure icon_blacklist [Icons mit Komma unterteilt hier]
Mit diesem Kommando interagierst du mit der Icon Blacklist. Wenn du dir die ganze Blacklist ansehen willst, dann geht das so:
adb shell settings get secure icon_blacklist
Sobald du sie mit Apps und Services abfüllst, die du nie mehr sehen willst, sieht das so aus:
Du siehst da folgende Zeile, wenn du dem System bereits etwas übergeben hast.
airplane,alarm_clock,clock,data_saver,dmb,do_not_disturb,ethernet,eyes_protect,headset,hires,hotspot,ims_indicator,location,managed_profile,nfc,oth_mouse,rotate,tty,unicom_call,volte,volume,vowifi,vpn,wifi_calling,zen
Das ist ein sogenanntes Array mit einem Komma als Delimiter.
- Array: Eine Serie von Werten oder Variablen, die vom System ausgelesen und interpretiert werden
- Delimiter: Ein Zeichen, das einzelne Werte oder Variablen unterteilt. Das System sieht «da endet ein Array Entry und da beginnt einer weiterer»
Damit wir mit dem Notch Management beginnen können, müssen wir der icon_blacklist ein Array übergeben, das vom System gelesen werden kann. Das Problem: Mir ist keine Ressource bekannt, wo ich alle gültigen Array-Argumente finde. Eine Whitelist ist in den Secure Settings nicht vorhanden und online findet sich auch nichts.
Daher ein Aufruf: Wenn du eine Dokumentation dazu findest, schreib mir einen Kommentar. Dann mach ich hier ein Update.
Zum aktuellen Stand kann ich folgende Argumente identifizieren:
- hotspot: Wireless Hotspot
- bluetooth: Das B oben
- zen: Ruhemodus
- alarm_clock: Wecker
- managed_profile: Wenn vom Gerät unterstützt, der Space, der dein Arbeitsprofil benutzt
- wifi: WLAN
- ethernet: Ethernet
- mobile: Mobile Daten
- airplane: Flugmodus
- clock: Uhr
- data_saver: Datensparmodus
- dmb: DMB, Fernsehtuner
- do_not_disturb: Auch Ruhemodus
- eyes_protect: Blaulichtfilter
- headset: Kopfhörer oder Headset angeschlossen
- hires: Hochauflösendes Display aktiv
- ims_indicator: IP Multimedia Subsystem
- location: GPS-Daten
- nfc: NFC
- oth_mouse: Externe Maus angeschlossen
- rotate: Drehung des Screens ein/aus
- tty: TTY Zugriff
- unicom_call: Setting eines chinesischen Mobilfunkproviders mit Sonderfunktionen
- volte: Voice over LTE, scheint aber nicht zu funktionieren
- volume: Lautstärke
- vowifi: Voice over WiFi
- vpn: VPN
- wifi_calling: Anrufe über Wifi
Wichtig: Wenn du diese Icons deaktivierst, dann deaktivierst du nur den visuellen Indikator, dass die Funktion gerade läuft, nicht aber den Service. Also wenn du alarm_clock ins Array aufnimmst, dann klingelt dein Wecker nach wie vor. Du verbirgst einzig das Icon oben in der Statusleiste.
Wenn du über Kommandozeile die Blacklist definieren willst, dann musst du dem System ein vollständiges Array übergeben. Jedes mal, wenn du etwas hinzufügen willst, dann musst du das ganze Array überschreiben.
Ein Array im Beispiel
Angenommen, du willst das Icon für VPN und Bluetooth deaktivieren. Du musst zwingend die folgende Zeile per adb übermitteln:
adb shell settings put secure icon_blacklist vpn,bluetooth
Das ersetzt das aktuelle Array, auch wenn es leer ist, mit "vpn,bluetooth". Da das Array jedes mal überschrieben wird, musst du jedes mal alle Argumente übergeben. Also, wenn du hier noch Wifi dazunehmen willst, kannst du nicht einfach folgende Zeile reinwerfen:
adb shell settings put secure icon_blacklist wifi
Diese Zeile überschreibt die ganze Blacklist und so blendest du nur Wifi aus. Wenn du ein drittes Icon hinzufügen willst, lautet die Befehlszeile:
adb shell settings put secure icon_blacklist vpn,bluetooth,wifi
Die Methode per App
Natürlich gibt es einen einfacheren und eleganteren Weg, das Problem mit dem Notch zu lösen. Mit der App SystemUI Tuner des Developers Zachary Wander. Da du mit der App aber tief ins System eingreifst, braucht sie Berechtigungen, die du über den normalen Weg nicht erteilen kannst. Mit adb aber schon. Installier also die App, lies die Anweisungen auf dem Bildschirm gut und übergib deinem Gerät folgende Zeilen via adb.
adb shell pm grant com.zacharee1.systemuituner android.permission.WRITE_SECURE_SETTINGS
adb shell pm grant com.zacharee1.systemuituner android.permission.PACKAGE_USAGE_STATS
adb shell pm grant com.zacharee1.systemuituner android.permission.DUMP
Das kannst du, wie oben, verbinden zu einer Mammutzeile:
adb shell pm grant com.zacharee1.systemuituner android.permission.WRITE_SECURE_SETTINGS && adb shell pm grant com.zacharee1.systemuituner android.permission.PACKAGE_USAGE_STATS && adb shell pm grant com.zacharee1.systemuituner android.permission.DUMP
Voilà! Die App funktioniert. Ausser du arbeitest mit einem Samsung Phone. Dort gelten einige Sonderregeln, die Zachary auflistet.
Das Problem hier ist, dass Zacharys App nicht alle Apps auflistet, die in der Status Bar irgendwas anzeigen wollen. Du kannst zwar unter Status Bar → Auto Detect einen Scan durch dein System laufen lassen, das viele Apps findet, aber vollständig ist das nicht.
Die Zukunft
Wenn dieser Artikel eines aussagen soll, dann dass Android im Kernel zwingend ein Status Bar Management haben muss. Es kann nicht sein, dass du dich auf den Goodwill eines Hersteller verlassen musst, der es gut mit dir meint. Wenn Samsung Sonderregeln einführt oder Huawei ein entsprechendes Setting nicht liefert, dann sollst nicht du das Nachsehen haben. Nein, diese Verantwortung liegt bei Google. Denn das Status Bar Management, welche Icons du da sehen willst, diese Einstellungen sollen oder müssen gar bei dir liegen.
Natürlich kannst du mit adb und Apps wie der von Zachary einiges bewirken und vieles besser machen, aber von «gut» sind wir noch weit entfernt.
So. Fertig. Du weisst jetzt, was ein Array ist, wie du damit umgehst und wie du dein Leben mit einem Notch etwas angenehmer gestaltest. Viel Spass.
Journalist. Autor. Hacker. Ich bin Geschichtenerzähler und suche Grenzen, Geheimnisse und Tabus. Ich dokumentiere die Welt, schwarz auf weiss. Nicht, weil ich kann, sondern weil ich nicht anders kann.