So verbergen Sie die permanente Benachrichtigung für Hintergrund-Apps in Android O

Update 25.08.17: Dieses Tutorial ist jetzt veraltet, da Google die Methode gepatcht hat, mit der wir die permanente Benachrichtigung im Hintergrund ausblenden. Wir haben jedoch eine andere Problemumgehung für dieses Problem gefunden und ein kurzes Tutorial dazu geschrieben, das Sie hier finden.

Android O möchte das Android-Betriebssystem, das wir alle kennen und lieben, erheblich verbessern. Bild-in-Bild-Modus für Telefone, Benachrichtigungskanäle, Smart-Text-Auswahl, AutoFill-Dienste und viele, viele Änderungen zur Verbesserung der Akkulaufzeit, Leistung und Sicherheit. Eine Funktion, die Benutzern helfen soll, Probleme mit der Akkulaufzeit und der Leistung zu beheben, sind Einschränkungen des Hintergrundprozesses. Ohne zu sehr ins Detail zu gehen, können Apps in Android O nicht mehr von ihren manifest registrierten impliziten Broadcast-Empfängern geweckt werden, und sie können keine Hintergrunddienste mehr starten, ohne JobScheduler zu durchlaufen. Wenn eine App einen Hintergrunddienst starten möchte, muss sie dem Benutzer dies ausdrücklich mitteilen, indem sie eine Benachrichtigung sendet. Wenn jedoch eine App im Hintergrund ausgeführt wird, greift Android O anscheinend auf eine weitere permanente Benachrichtigung zu, die Ihnen mitteilt, welche Apps ausgeführt werden. Dies tritt auch auf, wenn eine App mit der Berechtigung SYSTEM_ALERT_WINDOW (z. B. die beliebte Twilight-App) derzeit eine Überlagerung anzeigt.

Android O Permanente Benachrichtigung für Hintergrund- und Overlay-Apps. Credits: Ben Schoon \\ 9to5Google

Obwohl diese Benachrichtigungen standardmäßig minimiert sind, können sie vom Benutzer nicht verworfen oder in den Einstellungen dauerhaft blockiert werden. Dieses Verhalten ist für viele Benutzer sehr ärgerlich, und ich hoffe sehr, dass Google uns eine Möglichkeit bietet, diese Benachrichtigung in der endgültigen Version von Android O / Android 8.0 zu deaktivieren. Wenn dies nicht der Fall ist, können Sie die Benachrichtigung über permanente Hintergrund-Apps dennoch dauerhaft ausblenden . Ich werde in einer Schritt-für-Schritt-Anleitung zeigen, wie das geht, gefolgt von einer Erklärung der Funktionsweise und wichtigen Vorbehalten.


Blenden Sie die permanente Benachrichtigung in Android O aus

Bedarf:

  • Android O
  1. Installieren Sie die USB-Treiber für Ihr bestimmtes Telefon, wenn Sie Windows verwenden (diese finden Sie hier).
  2. Laden Sie die ADB-Binärdatei für Ihr bestimmtes Betriebssystem (Windows, Mac, Linux) herunter. Diese Links verweisen immer auf die neueste Version der Binärdatei, sodass Sie nicht im Netz nach der neuesten suchen müssen.
  3. Extrahieren Sie den Inhalt der heruntergeladenen ZIP-Datei in einen leicht zugänglichen Ordner auf Ihrem PC (z. B. in den Ordner Downloads).
  4. Gehen Sie auf Ihrem Telefon zur App Einstellungen und tippen Sie auf die Option „Über das Telefon“.
  5. Suchen Sie die Build-Nummer und tippen Sie sie siebenmal an, um den Entwicklermodus zu aktivieren. Sobald es aktiviert ist, wird ein Popup angezeigt.
  6. Kehren Sie zum Hauptmenü Einstellungen zurück und rufen Sie die Entwickleroptionen auf, damit Sie den USB-Debugging-Modus aktivieren können.

  7. Schließen Sie Ihr Telefon an den PC an und streichen Sie über das Benachrichtigungsfeld, um den USB-Modus von "Nur Laden" in "Dateiübertragung (MTP)" zu ändern. Dies ist für Ihr Telefon möglicherweise nicht erforderlich.
  8. Navigieren Sie auf Ihrem PC zu dem Verzeichnis, in das Sie die ADB-Binärdatei extrahiert haben.

  9. Starten Sie eine Eingabeaufforderung / ein Terminal in diesem ADB-Verzeichnis. Für Windows-Benutzer kann dies durch Umschalt + Rechtsklick und Auswahl der Option "Eingabeaufforderung hier öffnen" erfolgen.

  10. Geben Sie in der Eingabeaufforderungs- oder Terminalumgebung den folgenden Befehl ein: adb devices
  11. Dadurch wird der ADB-Dämon gestartet. Wenn Sie ADB zum ersten Mal ausführen, werden Sie auf Ihrem Telefon außerdem aufgefordert, eine Verbindung zu autorisieren.

  12. Führen Sie nun den Befehl adb devices ab Schritt 10 erneut aus, und die Eingabeaufforderung / das Terminal gibt die Seriennummer Ihres Geräts aus. Ist dies der Fall, können Sie fortfahren. Wenn nicht, sind die USB-Treiber wahrscheinlich nicht richtig installiert.
  13. Kehren Sie zur Eingabeaufforderung zurück und geben Sie den folgenden Befehl ein: adb shell
  14. cmd appops set android POST_NOTIFICATION ignore nun den folgenden Befehl aus: cmd appops set android POST_NOTIFICATION ignore

  15. Sie erhalten keine Erfolgsmeldung oder etwas anderes, aber solange Sie keinen Fehler sehen, sollte es funktionieren. Starten Sie jetzt einfach Ihr Telefon neu!

    Vorher: Permanente Benachrichtigung wird angezeigt

    Nachher: ​​Permanente Benachrichtigung ausgeblendet

    Ja, mir ist klar, dass dies Bilder eines Telefonbildschirms sind und keine Screenshots. Ich besitze selbst kein Android O-kompatibles Gerät, daher habe ich TK gebeten, mir Bilder zu senden.

  16. Wenn Sie diesen Befehl cmd appops set android POST_NOTIFICATION allow möchten, geben Sie dies in die Eingabeaufforderung ein: cmd appops set android POST_NOTIFICATION allow

Wie es funktioniert

Mit der versteckten Befehlszeilenschnittstelle für App Ops, dem benutzerbezogenen Berechtigungsverwaltungssystem von Android, können wir die Berechtigung POST_NOTIFICATION aus dem Paket "android" einschränken. (Hinweis: Wir setzen es auf "Ignorieren" anstatt auf "Verweigern", da "Verweigern" einige Fehler verursachen kann.) Ich habe diese Berechtigung gefunden, indem ich mir den relevanten Quellcode für AppOpsManager angesehen habe, in dem alle möglichen Berechtigungen aufgelistet sind gewährt / widerrufen, von denen viele in den Android-Einstellungen nicht zugänglich sind. Das "android" -Paket bezieht sich tatsächlich auf "Android System" AKA framework-res.apk, das für die permanente Benachrichtigung verantwortlich ist, die wir loswerden möchten.

Wenn Sie im Wesentlichen die POST_NOTIFICATION-Berechtigung des Android-Systems widerrufen, kann keine Benachrichtigung mehr angezeigt werden! Klingt ziemlich einfach, oder? Leider gibt es eine Einschränkung zu beachten. "Android System" ist für mehr als nur diese Benachrichtigung verantwortlich, sodass alle anderen Benachrichtigungen, die es veröffentlicht, nicht mehr angezeigt werden. Dies kann die USB-Modusbenachrichtigung (die noch über die Einstellung in den Entwickleroptionen geändert werden kann) sowie einige andere Dinge umfassen.

Dies ist zwar eine ziemlich drastische Maßnahme, die wir ergreifen müssen, aber derzeit ist es die einzige Möglichkeit, diese Benachrichtigung zu verbergen, abgesehen vom Rooten Ihres Telefons und dem Ändern des Frameworks selbst. Dies ist offensichtlich etwas, zu dem nicht viele Benutzer bereit oder in der Lage sind. Ich hoffe aufrichtig, dass Google eine Möglichkeit bietet, diese Benachrichtigung in einer zukünftigen Version von Android O zu verbergen oder diese Benachrichtigung sogar vollständig zu entfernen. Google möchte das Nutzererlebnis verständlicherweise verbessern, indem Benutzer benachrichtigt werden, wenn eine App im Hintergrund ausgeführt wird, die dem Benutzer möglicherweise nicht bekannt ist. Die von ihnen gewählte Methode ist jedoch für diejenigen von uns ärgerlich, die wissen, was mit jeder von uns verwendeten App geschieht.