AlwaysOn Display, Ambient Display, Active Display...verschiedene Hersteller, verschiedene Bezeichnungen und wohl auch verschiedene Anwendungsfälle.

Ich hatte jahrelang ein Moto X, dessen "Active Display" für mich das ausschlaggebende Kaufsargument war:
Neue Nachricht geht ein => App-Icon wird auf OLED-Display angezeigt, bis ich die Nachricht lese oder die Benachrichtigung (direkt vom Active Display aus) verwerfe.

So sieht man zu jeder Zeit, dass man ungelesene Nachrichten hat.

Sofern der Hersteller in der Programmierung nicht gepfuscht hat, schlägt dies dank OLED-Display nicht nennenswert auf den Akku und zumindest bei Motorola kann ich auch nach 6 Jahren kein Display BurnIn feststellen (der Nachteil von OLED-Displays im Gegensatz zu LCD-Displays, wenn zu lange dasselbe Bild auf dem Display angezeigt wird).

Dies ist sinnvoller, als nur eine kleine Blinke-LED, die über Anzahl und Art der Nachrichten nichts aussagt und um einiges mehr sinnvoller, als all 10 Minuten sein Telefon zu entsperren, um nachzuschauen, ob neue Nachrichten vorhanden sind.

In meinem jugendlichen Leichtsinn ging ich davon aus, dass nun jeder Hersteller, der mit einem AlwaysOn Display / Ambient Display / Active Display wirbt, damit eben jene Funktion verbindet...aber falsch gedacht!

Nun lege ich mir extra ein (relativ) teures Google Pixel 3a zu, weil dieses im Gegensatz zu vielen anderen ein AlwaysOn Display plus Vanilla-Android bietet und muss feststellen, dass die Programmierer eine sehr wirre Vorstellung davon haben, was End-User sich wünschen (bzw. wünschen sich die End-User einfach nur mehr CPU und mehr Pixel...alles andere ist ja wurscht).

Die "Sperrbildschirmanzeige" von Vanilla-Android bietet nämlich nur folgende Einstellungsmöglichkeiten:

  • Immer aktiviert. Es wird dauerhaft die Uhrzeit auf dem Display angezeigt. Ob es neue Nachrichten gibt oder nicht. Falls es neue Nachrichten gibt, werden diese (immerhin!) mit einem mickrigen Icon unter der Uhrzeit angezeigt.
    Anzeige komplett ausschalten, wenn keine Nachrichten vorhanden oder Vorgabe irgendwelcher Ruhezeiten (z.B. nachts)? Fehlanzeige. Immerhin macht es seinem Namen alle Ehre und ist tatsächlich "Always On".
  • Neue Benachrichtigungen. Hört sich gut an und sieht für ein paar Sekunden gut aus: Bildschirm ist standardmäßig aus. Trifft eine neue Benachrichtung ein, aktiviert sich das AlwaysOn Display und zeigt neben der Uhrzeit die Nachricht an. Sogar mit einem Textausschnitt.
    Dummerweise geht das Display dann nach einigen Sekunden wieder aus. Irgendwelche Einstellungsmöglichkeiten, wie lange das Display in so einem Benachrichtigungsfall eingeschaltet bleiben soll? Fehlanzeige!
    Man bekommt die neue Nachricht also nur mit, wenn man sowieso gerade auf das Display starrt (manche haben wahrscheinlich sowieso den ganzen Tag nichts Besseres zu tun).

Alles in allem sind diese beiden Funktionen eigentlich zu nichts zu gebrauchen, außer man findet es schick, dauerhaft die Uhrzeit auf dem Display angezeigt zu haben.
Neue Nachrichten-Icons unter der Uhrzeit fallen aber dann auch nicht wirklich auf.

Dank Tasker, einem Automatisierungs-Programm, welches ich schon seit Jahren installiert, aber ehrlich gesagt noch nie verwendet hatte, weil es mir schlichtweg zu komplex ist, habe ich es allerdings geschafft, Googles Interpretation des Always On Displays (im Folgenden nur noch AOD genannt) etwas aufzubohren und nützlicher zu gestalten.

Wir benötigen

Disclaimer Ich gehe sehr stark davon aus, dass das Handy gerootet sein muss, damit dies funktioniert.
Getestet auf einem Pixel-Gerät mit Android 10.

Tasker
Kostet derzeit 3,60 €. Es gibt manchmal Aktionen, bei denen es günsgtiger oder gar gratis ist.

AutoNotification oder Notification Listener
Beides sind Tasker-Plugins (und für hiesigen Anwendungsfall gratis), mit denen man die Anzahl neuer Nachrichten auslesen kann. Denn ich will das AOD nur wieder de-aktivieren, falls es keine Benachrichtungen in der Benachrichtungs-Leiste gibt.

Was genau machen wir?

Per Tasker wird die die Einstellung Display > Erweitert > Sperrbildschirmanzeige > Immer aktiviert aktiviert, sobald Benachrichtungen bestimmter Programme vorhanden sind und wieder de-aktiviert, sobald die Benachrichtigungen aus der Benachrichtigungsleiste verschwunden sind.

So ist der AOD-Bildschirm dauerhaft an, wenn neue Nachrichten da sind und dauerhaft aus, wenn keine neuen Nachrichten da sind.
Wie kann etwas anderes auch Sinn machen...!?

Leider ist die ganze Sache trotzdem nicht ganz so toll, wie bei Mototolas Active Display, wo das Programm-Icon unübersehbar groß angezeigt wird und man durch einen Wisch in die richtige Richtung die Benachrichtigung gleich auf dem AOD-Display öffnen oder verwerfen kann.
Aber immerhin lässt sich somit (mit zusammengebissenen Zähnen) leben.

Automatisierung zusammenbasteln

Mir ist bewusst, das man Tasker-Profile auch einfach exportieren und zum Download zur Verfügung stellen kann.
Da es mir aber einiges an Zeit gekostet hat, mir die Infos zusammenzuklauben, wie ich das hier alles mit Tasker erledige, zeige ich viel lieber ausführlich, wie man die Automatisierung mit Hilfe von Tasker selbst zusammenstellt.

Tasks

Zuerst erstellen wir im Reiter "Tasks" zwei Tasks AOD an und AOD aus, die später je nachdem das AOD ein oder ausschalten.

Dafür in den Reiter "Tasks" wechseln und auf das + rechts unten klicken.

 

Den ersten Task nennen wir "AOD an".
Hier prüfen wir, ob das AOD schon eingeschaltet ist. Falls nicht, schalten wir es ein. Den "Trigger", diese Aktion bei einer neuen Benachrichtigung auszulösen, machen wir an einer anderen Stelle, bei den "Profilen".

Bild 1
Bild 2
Nachdem wir auf das + gedrückt und einen neuen Task erstellt haben, landen wir im Fenster "Aufgabe editieren". Mit dem + unten rechts fügen wir die neue Aktion "Custom Settings" ein. Am besten diesen Begriff unten in das Filter-Feld eingeben, dann hat man die Aktion am schnellsten gefunden (siehe Bild 1).

Typ ist secure und name ist doze_always_on
Dies ist der interne Parametername, den Android für diese Einstellung verwendet (Bild 2).

Bei Read Setting to geben wir %aod_an ein. Dies ist unsere interne Variable, die nun den Wert 1 oder 0 hat, je nachdem, ob Einstellung > Display > Erweitert > Sperrbildschirmanzeige > Immer aktiviert ein- oder ausgeschaltet ist.

 
Neue Aktion: If. Hier geben wir die Bedingung ein %aod_an gl 0

Wir wollen alles Weitere nur ausführen, falls das AOD noch nicht eingeschaltet ist.

 
Neue Aktion: Nochmals Custom Setting
Hier wieder Typ secure, Name doze_always_on – allerdings wollen wir den Wert dieses Mal nicht auslesen, sondern setzen. Dafür bei "Wert" eine 1 eintragen. Fertig und zurück zu "Aufgabe editieren".

Diese Aktion sollte nun eingerückt dargestellt werden (wird nur ausgeführt, wenn der If-Block davor wahr ist).

 
Neue Aktion: End if als Zeichen, dass der If-Block hiernach beendet ist.

Danach sollte alles in etwa so wie rechts abgebildet aussehen.

 

Zurück zur Tasks-Liste und nun einen weiteren Task erstellen.

Den nächsten Task nennen wir "AOD aus".
Hier kommen nun die Plugins AutoNotification oder Notification Listener ins Spiel, da wir diese Aufgabe nur ausführen wollen, wenn von bestimmten Programmen keine Benachrichtigungen mehr aktiv sind. Ob eine eBay-Mitteilung oder ein GooglePlay-Update angezeigt wird...egal. Hauptsache keine E-Mail oder WhatsApp-Nachricht.

Ich verwende "AutoNotification":
Also neue Aktion, unter "Plugin" "AutoNotofication" wählen und dann "Query".
Unter "Konfiguration" kann man auf den Bleistift klicken. "Persistency Type: Non-Persistent only", "Notification Apps:" diejenigen auswählen, die relevant sind. In meinem Fall wären das E-Mail und WhatsApp.

Bei allem anderen braucht der AOD bei mir nicht eingeschaltet bleiben.

 
Zurück zur Aufgabenliste, neue Aufgabe "Custom Setting". Hier lesen wir wieder (wie schon bei "AOD an") aus, ob der AOD schon eingeschaltet ist oder nicht und schreiben den Status in die Variable %aod_an.
 
Neue Aufgabe "If". Hier haben wir nun zwei Bedingungen, damit der AOD ausgeschaltet wird: Zum ersten muss er gerade eingeschaltet sein, zum zweiten darf es keine Benachrichtigungen vom E-Mail-Programm oder WhatsApp mehr geben. Bedingung: %aod_an gl 1 und %annumber(#) gl 0 wobei %annumber(#) eine Variable unserer vorherigen "AutoNotofication"-Abfrage ist.
Bei der Verwendung des Plugins "Notification Listener" wäre stattdessen %nlqkey(#) zu verwenden.
 
Neue Aufgabe "Custom Setting".

Hier schalten wir den AOD nun aus.

 

Nun noch ein kleiner Workaround:
Wenn das AOD gerade aktiv ist und man es im Hintergrund mit Hilfe von Tasker deaktiviert, bleibt es trotzdem noch so lange aktiviert, bis das Display mal ein- und wieder ausgeschaltet wird. Also schalten wir den Bildschirm noch ganz kurz ein, damit er danach wieder ganz aus geht.

Neue "If"-Aufgabe. Wir wollen Folgendes nur tun, wenn der Bildschirm gerade aus (bzw. im AOD-Modus) ist.
If %SCREEN gl off => Nur, wenn der Bildschirm aus ist. Ist das AOD gerade aktiv, ist das für Android scheinbar trotzdem aus.
 
Nun noch eins weiter eingerückt die Aktion "Bildschirm einschalten". Ich hatte die Block-Time auf ein Minimum gesetzt. So lange kann man den Bildschirm wohl nicht wieder ausschalten.

Weitere Aktion "Warten". Nun warte ich, bis die Block-Time rum ist.

Weitere Aktion "Bildschirm aus".
Ehrlich gesagt führt das aber nicht wie erwartet dazu, dass der Bildschirm ganz kurz an und 130ms danach wieder aus geht, sondern ist doch etwas länger an.

Und dann noch zwei "End if" hintendran.

Am Ende sollte alles wie rechts abgebildet aussehen.

Profile

Die Profile werden bei bestimmten Bedingungen ausgelöst (z.B. neue Benachrichtigung durch ein Programm) und lösen dann unsere Tasks/Aufgaben aus.

In den Reiter "Profile" wechseln und auf das + rechts unten tippen.

Das erste neue Profil ist "AOD an", wird durch ein Ereignis ausgelöst; hier suchen wir nach "Benachrichtigung".
Bei "Besitz Applikation" wählen wir die Programme aus, bei denen das AOD später aktiviert werden soll, sobald es eine neue Benachrichtigung gibt (in meinem Fall E-Mail und WhatsApp).
 
Zurück in der Profile-Liste wählen wir dann unseren vorhin erstellen Task "AOD on"
 

Nun noch das Profil AOD aus.
Wir suchen nach dem Ereignis "Notification removed". "Besitz Applikation" ist hier wurscht – es kann ruhig jedes Mal ausgelöst werden, sobald irgendeine Benachrichtigung aus der Benachrichtigungsleiste verschwunden ist.
Zurück in der Profil-Liste wählen wir dann unseren vorhin erstellen Task "AOD aus".

Diese beiden Profile müssen (mit dem kleinen Schalter rechts neben dem Namen) eingeschaltet sein, damit sie ausgelöst werden.

Berechtigungsbliblablubb

Unter Einstellungen > Apps > Alle anzeigen > Tasker > Erweitert > Akku sollte man die Akku-Optimierung für Tasker de-aktivieren, so dass Tasker nicht irgendwann vom System schlafen gelegt wird und dann nicht mehr funktioniert.

Gut versteckt unter Einstellungen > Apps & Benachrichtigungen > Erweitert > Spezieller App-Zugriff > Benachrichtigungszugriff muss "AutoNotification" (respektive "Notification Listener") der Zugriff gewährt werden, sonst funktioniert die ganze Sache nämlich überhaupt nicht und man wundert sich, wieso.
 

Alternativen

Die App Pixel Pulse soll angeblich etwas ähnliches machen, hat bei mir auf einem Pixel 3a XL mit Android 10 allerdings nicht wie erwartet funktioniert.
Kurz gesagt war bei mir alles mit App wie ohne App.

Die App AC Display macht an sich genau das, was "Active Display" auf einem Motorola Handy macht.
Konnte ich auf meinem Pixel 3a XL mit Android 10 allerdings nicht wirklich zum Funktionieren bringen.

Es liegt wohl nicht an mir oder Android 10, sondern diese App scheint auch generell nur für ein paar Sekunden die Benachrichtigung anzuzeigen.