Anleitung zum Ausblenden der dauerhaften Benachrichtigung in Android O, die angezeigt wird, wenn eine Hintergrund-App ausgeführt wird oder wenn ein Overlay angezeigt wird.
Update 25.08.17: Dieses Tutorial ist mittlerweile veraltet, da Google die von uns verwendete Methode zum Ausblenden der dauerhaften Benachrichtigung im Hintergrund gepatcht hat. Wir haben jedoch einen anderen Workaround für dieses Problem entdeckt und ein kurzes Tutorial dazu geschrieben finden Sie hier.
Android O möchte das Android-Betriebssystem, das wir alle kennen und lieben, erheblich verbessern. Bild-in-Bild-Modus für Telefone, Benachrichtigungskanäle, intelligente Textauswahl, Autofill-Dienste und viele, viele Änderungen unter der Haube, um die Akkulaufzeit, Leistung und Sicherheit zu verbessern. Eine Funktion, die Benutzern helfen soll, Probleme mit der Akkulaufzeit und Leistung zu lösen, sind Einschränkungen bei Hintergrundprozessen. Ohne zu sehr ins Detail zu gehen: Apps in Android O können nicht mehr aus ihrer Manifest-Registrierung geweckt werden implizite Rundfunkempfänger und können keine Hintergrunddienste mehr starten, ohne sie zu durchlaufen JobScheduler. Wenn eine App einen Hintergrunddienst starten möchte, muss sie den Benutzer durch das Posten einer Benachrichtigung explizit darüber informieren. Wenn jedoch eine App im Hintergrund läuft, scheint Android O jetzt weiterzumachen
ein anderer Permanente Benachrichtigung, die Ihnen mitteilt, welche Apps ausgeführt werden. Dies tritt auch auf, wenn eine App mit dem SYSTEM_ALERT_WINDOW Erlaubnis (wie die populäre Dämmerung App) zeigt derzeit ein Overlay an.Obwohl diese Benachrichtigungen standardmäßig minimiert sind, können sie vom Benutzer nicht geschlossen oder in den Einstellungen dauerhaft blockiert werden. Dieses Verhalten ist für viele Benutzer sehr ärgerlich und ich hoffe ernsthaft, dass Google uns eine Möglichkeit bietet, diese Benachrichtigung in der endgültigen Version von Android O/Android 8.0 zu deaktivieren. Wenn dies jedoch nicht der Fall ist, dort Ist immer noch ein Weg dazu Blenden Sie die Benachrichtigung über permanente Hintergrund-Apps dauerhaft aus. Ich werde in einer Schritt-für-Schritt-Anleitung zeigen, wie das geht, gefolgt von einer Erklärung der Funktionsweise und wichtigen Vorbehalten.
Anforderungen:
- Android O
- Installieren Sie die USB-Treiber für Ihr spezielles Telefon, wenn Sie Windows verwenden (sie finden Sie hier). Hier).
- Laden Sie die herunter ADB-Binärdatei für Ihr spezielles Betriebssystem (Windows, Mac, Linux). Diese Links verweisen immer auf die neueste Version der Binärdatei, sodass Sie nicht das Internet nach der neuesten Version durchsuchen müssen.
- Extrahieren Sie den Inhalt der ZIP-Datei, die Sie heruntergeladen haben, in einen leicht zugänglichen Ordner auf Ihrem PC (z. B. im Ordner „Downloads“).
- Gehen Sie auf Ihrem Telefon zur App „Einstellungen“ und tippen Sie auf die Option „Über das Telefon“.
- Suchen Sie die Build-Nummer und tippen Sie sieben Mal darauf, um den Entwicklermodus zu aktivieren. Sobald es aktiviert ist, wird ein Popup angezeigt.
- Gehen Sie zurück zum Hauptmenü „Einstellungen“ und geben Sie „Entwickleroptionen“ ein, damit Sie den USB-Debugging-Modus aktivieren können.
- Schließen Sie Ihr Telefon an den PC an und wischen Sie über das Benachrichtigungsfeld nach unten, um den USB-Modus von „Nur Laden“ in den Modus „Dateiübertragung (MTP)“ zu ändern. Dies ist für Ihr Telefon möglicherweise nicht erforderlich.
- Navigieren Sie auf Ihrem PC zu dem Verzeichnis, in das Sie die ADB-Binärdatei extrahiert haben.
- Starten Sie eine Eingabeaufforderung/ein Terminal in diesem ADB-Verzeichnis. Für Windows-Benutzer kann dies durch Umschalt+Rechtsklick und anschließende Auswahl der Option „Eingabeaufforderung hier öffnen“ erfolgen.
- Geben Sie in der Eingabeaufforderungs- oder Terminalumgebung den folgenden Befehl ein:
adb devices
- Dadurch wird der ADB-Daemon gestartet. Wenn Sie ADB zum ersten Mal ausführen, wird auf Ihrem Telefon außerdem eine Aufforderung angezeigt, eine Verbindung zu autorisieren.
- Führen Sie nun den Befehl „adb devices“ aus Schritt 10 erneut aus, und die Eingabeaufforderung/das Terminal gibt die Seriennummer Ihres Geräts aus. Wenn dies der Fall ist, können Sie weitermachen. Wenn nicht, sind die USB-Treiber wahrscheinlich nicht ordnungsgemäß installiert.
- Gehen Sie zurück zur Eingabeaufforderung und geben Sie den folgenden Befehl ein:
adb shell
- Führen Sie nun den folgenden Befehl aus:
cmd appops set android POST_NOTIFICATION ignore
- Sie erhalten keine Erfolgsmeldung oder ähnliches, aber solange Sie keinen Fehler sehen, hätte es funktionieren sollen. Starten Sie jetzt einfach Ihr Telefon neu!
Ja, mir ist klar, dass es sich hierbei eher um Bilder eines Telefonbildschirms als um Screenshots handelt. Da ich selbst kein mit Android O kompatibles Gerät habe, habe ich TK gebeten, mir Bilder zu senden.
- Wenn Sie diesen Befehl rückgängig machen möchten, geben Sie Folgendes in die Eingabeaufforderung ein:
cmd appops set android POST_NOTIFICATION allow
Wie es funktioniert
Mithilfe der versteckten Befehlszeilenschnittstelle für App Ops, dem benutzerorientierten Berechtigungsverwaltungssystem von Android, können wir die POST_NOTIFICATION-Berechtigung aus dem Paket „android“ einschränken. (Hinweis: Wir setzen es auf „Ignorieren“ statt auf „Verweigern“, da „Verweigern“ einige Fehler verursachen könnte.) Ich habe diese Berechtigung gefunden, indem ich mir den entsprechenden Quellcode für angesehen habe AppOpsManager, das alle möglichen Berechtigungen auflistet, die gewährt/entzogen werden können, von denen viele in den Android-Einstellungen nicht zugänglich sind. Das Paket „android“ bezieht sich tatsächlich auf „Android System“, auch bekannt als „framework-res.apk“, das für die dauerhafte Benachrichtigung verantwortlich ist, die wir entfernen möchten.
Durch den grundsätzlichen Widerruf der POST_NOTIFICATION-Berechtigung des Android-Systems kann keine Benachrichtigung mehr angezeigt werden! Klingt ziemlich einfach, oder? Leider gibt es einen Vorbehalt, den Sie beachten sollten. „Android System“ ist für mehr als nur diese Benachrichtigung verantwortlich, daher werden alle anderen Benachrichtigungen, die es möglicherweise postet, nicht mehr angezeigt. Dies kann die USB-Modus-Benachrichtigung (die noch über die Einstellung in den Entwickleroptionen geändert werden kann) sowie einige andere Dinge umfassen.
Obwohl dies eine ziemlich drastische Maßnahme unsererseits ist, ist es derzeit die einzige Möglichkeit, diese Benachrichtigung zu verbergen vom Rooten Ihres Telefons bis zum Ändern des Frameworks selbst, wozu offensichtlich nicht viele Benutzer bereit oder in der Lage sind machen. Ich hoffe aufrichtig, dass Google eine Möglichkeit bietet, diese Benachrichtigung in einer zukünftigen Version von Android O auszublenden oder noch besser, diese Benachrichtigung vollständig zu entfernen. Google möchte das Benutzererlebnis verständlicherweise verbessern, indem es Benutzer benachrichtigt, wenn eine App im Hintergrund ausgeführt wird Der Benutzer ist sich dessen vielleicht nicht bewusst, aber die von ihm gewählte Methode ist für diejenigen von uns ärgerlich, die über jede einzelne App Bescheid wissen verwenden.