Englisch version   English version


Hinweis:
Die Parameter Title und Text akzeptieren HTML-Tags. Dies wird in der Beschreibung der einzelnen Elemente nicht erwähnt. Welche HTML-Tags benutzt werden können, variiert je nach Implementierung des Android-Systems. Hinweise gibt es bei Mark Murphy's Technical Stuff oder Daniel Lew's Coding Thoughts.

Referenz UrsAI2NotificationChannel

Eigenschaften

AreNotificationsEnabled
Ab API Level 24.
Gibt zurück, ob Benachrichtigungen vom aufrufenden Paket nicht blockiert werden. Liefert true für API-Levels < 24.
AreNotificationsPaused
Ab API Level 29.
Gibt zurück, ob Benachrichtigungen von diesem Paket vorübergehend ausgeblendet sind. Dies könnte geschehen, weil das Paket als störend für den Benutzer markiert wurde oder weil das Paket suspendiert ist. Liefert false für API-Leves < 29.
BypassDnd
Legt fest, ob an diesen Kanal gesendete Benachrichtigungen den Benutzer im Modus NotificationManager.INTERRUPTION_FILTER_PRIORITY unterbrechen können. Die Voreinstellung ist false.
ChannelID
Die ID des Kanals. Die ID muss pro App eindeutig sein. Der Wert kann abgeschnitten werden, wenn er zu lang ist. Die Voreinstellung ist "UrsNotificationChannel".
ChannelName
Die für den Benutzer sichtbare Bezeichnung des Kanals. Die Voreinstellung ist "Urs Notification Channel".
Dieser Wert kann nachträglich geändert werden.
Description
Die für den Benutzer sichtbare Beschreibung dieses Kanals.
Dieser Wert kann nachträglich geändert werden.
Importance
Legt die Bedeutsamkeit des Kanals fest. Die Voreinstellung ist NotificationManager.IMPORTANCE_DEFAULT.
LightColor
Legt, sofern vom Gerät unterstützt, die Farbe des optischen Signals fest. Die Voreinstellung ist "transparent".
LightEnabled
Legt fest, ob ein optisches Signal für auf diesem Kanal gepostete Benachrichtigungen angezeigt werden sollen, wenn das Gerät diese Funktion unterstützt. Hinweis: Die LED wird nur angeschaltet, wenn das Display ausgeschaltet ist. Die Voreinstellung ist false.
LockscreenVisibility
Legt fest, ob auf diesem Kanal veröffentlichte Benachrichtigungen auf dem Sperrbildschirm angezeigt werden oder nicht, und wenn ja, ob sie in redigierter Form angezeigt werden:
ShowBadge
Legt fest, ob auf diesem Kanal veröffentlichte Benachrichtigungen das Launcher-Icon mit Plaketten versehen werden soll. Die Voreinstellung ist false.


SoundEnabled
Legt fest, ob zu den an diesen Kanal gesendete Benachrichtigungen der Standardton wiedergeben werden soll (s.o.). Die Voreinstellung ist false.
Version
Ruft die Version der Extension ab.
VersionSDK
Ruft sie Android SDK-Version ab, die derzeit auf diesem Gerät ausgeführt wird.
VibrationEnabled
Legt fest, ob die auf diesem Kanal veröffentlichte Benachrichtigung vibrieren soll (s.o.). Die Voreinstellung ist false.
VibrationPattern
Legt das Vibrationsmuster für Benachrichtigungen fest, die an diesen Kanal gesendet werden, eine komma-separierte Liste von Millisekunden, beginnend mit einer Pause-Zeit (s.o.).

Kann das Pattern nicht aufgelöst werden, wird beim Start der App das Ereignis  Screen.ErrorOccurred mit ErrorNumber 17002 ausgelöst. Der Kanal wird nicht angelegt!

Funktionen

AppIsAlreadyRunning()
Prüft, ob bereits eine andere Instanz der App aktiv ist. Das Antippen einer Benachrichtigung öffnet je nach Situation eine zweite Instanz der App. Diese Funktion überprüft dies. Diese Funktion funktioniert nicht im Companion.
Cancel (NumberID)
Löscht eine einzelne Benachrichtigung. Benachrichtigungen, die mit einem ForegroundService verbunden sind, werden nicht gelöscht (s. UrsKeepAlive). NumberID: ID der Benachrichtigung.
CancelAlarm (RequestCode)
Löscht einen noch nicht ausgelösten Alarm. RequestCode: Eindeutige numerische ID für diesen Alarm.
CancelAll ()
Löscht alle Benachrichtigungen der App. Benachrichtigungen, die mit einem ForegroundService verbunden sind, werden nicht gelöscht (s. UrsKeepAlive).
CloseSystemDialogs ()
Schließt das Notification Panel.
CreateActionNotification (NumberID, Icon, Title, Text, AutoCancel, UrsIntentObject)
Erstellt eine einfache Benachrichtigung. Beim Antippen der Benachrichtigung wird der im UrsIntentObjekt übergebene Auftrag ausgeführt. NumberID: eindeutige ID der Benachrichtigung. Icon: kleines Icon, das angezeigt werden soll (entweder der Name einer Asset-Datei (erst ab API Level 23) oder der Name eines System-Icons). Title: erste Zeile der Benachrichtigung (fett). Text: zweite Zeile. AutoCancel: Die Benachrichtigung verschwindet wieder, wenn der Anwender sie antippt.

Wird eine zweite Benachrichtigung mit der gleichen ID erstellt, bevor die vorhergehende gelöscht wurde, wird diese aktualisiert.

Wenn das übergebene Objekt im Parameter UrsIntentObject nicht vom Typ UrsIntent ist, wird die Benachrichtigung nicht angelegt und Screen.ErrorOccurred mit ErrorNumber 17006 ausgelöst.
CreateAiNotification (NumberID, Icon, Title, Text, ScreenToOpen, StartValue, AutoCancel)
Erstellt eine Benachrichtigung, die beim Antippen die AI2-App öffnet, mit der die Benachrichtigung erstellt wurde. NumberID: eindeutige ID der Benachrichtigung. Icon: kleines Icon, das angezeigt werden soll (entweder der Name einer Asset-Datei (erst ab API Level 23) oder der Name eines System-Icons). Title: erste Zeile der Benachrichtigung (fett). Text: zweite Zeile. ScreenToOpen: name des Screens, die beim Antippen der Benachrichtigung geöffnet werden soll. Wenn ScreenToOpen leer bleibt, wird "Screen1" eingesetzt.  StartValue: Startwert, der vom geöffneten Screens ausgelesen werden kann. AutoCancel: Die Benachrichtigung verschwindet wieder, wenn der Anwender sie antippt.

ScreenToOpen kann entweder einen Screen-Namen der App enthalten oder den vollständig klassifizierten Klassennamen einer beliebigen Activity.

Kann der aufzurufende Screen oder die Activity-Klasse nicht gefunden werden, wird die Benachrichtigung nicht angelegt und Screen.ErrorOccurred mit ErrorNumber 17004 ausgelöst.

Wenn StartValue leer bleibt, wird "NOTIFICATION"+<NumberID> eingesetzt.

Der auszuführende Intent wird mit diesen Flags versehen: FLAG_ACTIVITY_NEW_TASK, FLAG_ACTIVITY_MULTIPLE_TASK, FLAG_ACTIVITY_NO_ANIMATION
CreateAlarm (RequestCode, Delay, Type, WakeUp, UrsNotificationObject, UrsIntentObject)
Erstellt eine mit Verzögerung angezeigte Benachrichtigung. RequestCode: Eindeutige numerische ID für diesen Alarm. Delay: Verzögerung in Sekunden. Type: Angabe der Genauigkeit. WakeUp: Weckt das Gerät auf, wenn die Zeit abgelaufen ist. UrsNotificationObjekt: legt die Eigenschaften der zum Alarmzeitpunkt zu erstellenden Benachrichtigung fest. UrsIntentObject: legt fest, welche Aktion beim Antippen der Benachrichtigung ausgeführt.

Type erlaubt die Angaben 0..3. Es werden die folgenden Methoden aufgerufen:

  • 0: AlarmManager.set (ab API Level 1) Ab API 19 wird die an diese Methode übergebene Auslösezeit als ungenau behandelt: Der Alarm wird nicht vor dieser Zeit übermittelt, kann jedoch verschoben und einige Zeit später übermittelt werden.
  • 1: AlarmManager.setExact (ab API Level 19) Der Alarm wird so weit wie möglich zur gewünschten Zeit ausgelöst.
  • 2: AlarmManager.setAndAllowWhileIdle (ab API Level 23) Dieser Alarm wird auch dann ausgeführt, wenn sich das System im Leerlaufmodus (doze mode) befindet.
  • 3: AlarmManager.setExactAndAllowWhileIdle (ab API Level 23) Der Alarm wird so weit wie möglich zur gewünschten Zeit ausgelöst, auch dann, wenn sich das Gerät im Leerlaufmodus (doze mode) befindet.

Reicht der aktuelle API-Level nicht aus, wird der Typ angepasst: 10; 20; 310;

Wenn der Wert für Delay kleiner als Null ist, wird die Benachrichtigung nicht angelegt und Screen.ErrorOccurred mit ErrorNumber 17007 ausgelöst.

Wenn das übergebene Objekt im Parameter UrsNotificationObject nicht vom Typ UrsNotification ist, wird die Benachrichtigung nicht angelegt und Screen.ErrorOccurred mit ErrorNumber 17005 ausgelöst.

Wenn das übergebene Objekt im Parameter UrsIntentObject nicht vom Typ UrsIntent ist, wird die Benachrichtigung nicht angelegt und Screen.ErrorOccurred mit ErrorNumber 17006 ausgelöst.

CreateAlarmAt (RequestCode, Millis, Type, WakeUp, UrsNotificationObject, UrsIntentObject)
Erstellt eine zum Zeitpunkt Millis anzuzeigende Benachrichtigung. RequestCode: Eindeutige numerische ID für diesen Alarm. Millis: der Alarmzeitpunkt in Millisekunden seit dem 1.1.1970. Type: Angabe der Genauigkeit. WakeUp: Weckt das Gerät auf, wenn die Zeit abgelaufen ist. UrsNotificationObjekt: legt die Eigenschaften der zum Alarmzeitpunkt zu erstellenden Benachrichtigung fest. UrsIntentObject: legt fest, welche Aktion beim Antippen der Benachrichtigung ausgeführt.

Type erlaubt die Angaben 0..3. Es werden die folgenden Methoden aufgerufen:

  • 0: AlarmManager.set (ab API Level 1)
    Ab API 19 wird die an diese Methode übergebene Auslösezeit als ungenau behandelt: Der Alarm wird nicht vor dieser Zeit übermittelt, kann jedoch verschoben und einige Zeit später übermittelt werden.
  • 1: AlarmManager.setExact (ab API Level 19)
    Der Alarm wird so weit wie möglich zur gewünschten Zeit ausgelöst.
  • 2: AlarmManager.setAndAllowWhileIdle (ab API Level 23)
    Dieser Alarm wird auch dann ausgeführt, wenn sich das System im Leerlaufmodus (doze mode) befindet.
  • 3: AlarmManager.setExactAndAllowWhileIdle (ab API Level 23)
    Der Alarm wird so weit wie möglich zur gewünschten Zeit ausgelöst, auch dann, wenn sich das Gerät im Leerlaufmodus (doze mode) befindet.

Reicht der aktuelle API-Level nicht aus, wird der Typ angepasst: 10; 20; 310;

Der Wert für Millis kann aus einer Clock-Komponente über die Methode GetMillis gewonnen werden.

Wenn der Wert für Millis kleiner als die aktuelle Systemzeit ist, wird die Benachrichtigung nicht angelegt und Screen.ErrorOccurred mit ErrorNumber 17008 ausgelöst.

Wenn das übergebene Objekt im Parameter UrsNotificationObject nicht vom Typ UrsNotification ist, wird die Benachrichtigung nicht angelegt und Screen.ErrorOccurred mit ErrorNumber 17005 ausgelöst.

Wenn das übergebene Objekt im Parameter UrsIntentObject nicht vom Typ UrsIntent ist, wird die Benachrichtigung nicht angelegt und Screen.ErrorOccurred mit ErrorNumber 17006 ausgelöst.

CreateAlarmEx (RequestCode, Delay, Type, WakeUp, UrsNotificationObject, UrsIntentObject)
Erstellt eine mit Verzögerung angezeigte Benachrichtigung. Zurück geliefert wird der Zeitpunkt, zu dem die Benachrichtigung erzeugt wird. RequestCode: Eindeutige numerische ID für diesen Alarm. Delay: Verzögerung in Sekunden. Type: Angabe der Genaugkeit. WakeUp: Weckt das Gerät auf, wenn die Zeit abgelaufen ist. UrsNotificationObjekt: legt die Eigenschaften der zum Alarmzeitpunkt zu erstellenden Benachrichtigung fest. UrsIntentObject: legt fest, welche Aktion beim Antippen der Benachrichtigung ausgeführt.

Es wird der Auslösezeit in Millisekunden seit 1.1.1970 zurück geliefert. Dieser Wert kann z.B. an die Methode MakeInstantFromMillis einer Clock-Komponente zur Erstellung eines lesbaren Datum-Zeit-Format übergeben werden.

Type erlaubt die Angaben 0..3. Es werden die folgenden Methoden aufgerufen:

  • 0: AlarmManager.set (ab API Level 1) Ab API 19 wird die an diese Methode übergebene Auslösezeit als ungenau behandelt: Der Alarm wird nicht vor dieser Zeit übermittelt, kann jedoch verschoben und einige Zeit später übermittelt werden.
  • 1: AlarmManager.setExact (ab API Level 19) Der Alarm wird so weit wie möglich zur gewünschten Zeit ausgelöst.
  • 2: AlarmManager.setAndAllowWhileIdle (ab API Level 23) Dieser Alarm wird auch dann ausgeführt, wenn sich das System im Leerlaufmodus (doze mode) befindet.
  • 3: AlarmManager.setExactAndAllowWhileIdle (ab API Level 23) Der Alarm wird so weit wie möglich zur gewünschten Zeit ausgelöst, auch dann, wenn sich das Gerät im Leerlaufmodus (doze mode) befindet.

Reicht der aktuelle API-Level nicht aus, wird der Typ angepasst: 10; 20; 310;

Wenn der Wert für Delay kleiner als Null ist, wird die Benachrichtigung nicht angelegt und Screen.ErrorOccurred mit ErrorNumber 17007 ausgelöst.

Wenn das übergebene Objekt im Parameter UrsNotificationObject nicht vom Typ UrsNotification ist, wird die Benachrichtigung nicht angelegt und Screen.ErrorOccurred mit ErrorNumber 17005 ausgelöst.

Wenn das übergebene Objekt im Parameter UrsIntentObject nicht vom Typ UrsIntent ist, wird die Benachrichtigung nicht angelegt und Screen.ErrorOccurred mit ErrorNumber 17006 ausgelöst.

CreateNotification(UrsNotificationObject, UrsIntentObject)
Erstellt eine Benachrichtigung. UrsNotificationObjekt: legt die Eigenschaften der Benachrichtigung fest. UrsIntentObject: legt fest, welche Aktion beim Antippen der Benachrichtigung ausgeführt.

Wenn das übergebene Objekt im Parameter UrsNotificationObject nicht vom Typ UrsNotification ist, wird die Benachrichtigung nicht angelegt und Screen.ErrorOccurred mit ErrorNumber 17005 ausgelöst.

Wenn das übergebene Objekt im Parameter UrsIntentObject nicht vom Typ UrsIntent ist, wird die Benachrichtigung nicht angelegt und Screen.ErrorOccurred mit ErrorNumber 17006 ausgelöst.
CreateProgressNotification(CurrentProgress, MaxProgress, Indeterminate, UrsNotificationObject, UrsIntentObject)
Erstellt eine Benachrichtigung, die den Fertigstellungsgrad eines laufenden Prozesses (z.B. ein Dwonload) anzeigt (siehe Add a progress bar). Bei einer Indeterminate Progress Bar wandert immer wieder ein Balken von links nach rechts. Ansonsten wird ein Balken angezeigt, dessen Länge CurrentProgress (im Verhältnis zu MaxProgress) entspricht.
CurrentProgress: aktueller Grad der Fertigstellung (unerheblich bei einem Indeterminate Progress Bar). MaxProgress: Wert bei vollständiger Fertigstellung. Indeterminate: true: es wird ein laufender Balken angezeigt; false: es wird ein Fortschrittsbalken mit Länge proportional zur CurrentProgress angezeigt. UrsNotificationObjekt: legt die Eigenschaften der Benachrichtigung fest. UrsIntentObject: legt fest, welche Aktion beim Antippen der Benachrichtigung ausgeführt.

Der Fortschrittsbalken kann über die Methoden UrsNotification.SetProgress und UrsNotification.SetProgressEx angepasst werden.

Wenn das übergebene Objekt im Parameter UrsNotificationObject nicht vom Typ UrsNotification ist, wird die Benachrichtigung nicht angelegt und Screen.ErrorOccurred mit ErrorNumber 17005 ausgelöst.

Wenn das übergebene Objekt im Parameter UrsIntentObject nicht vom Typ UrsIntent ist, wird die Benachrichtigung nicht angelegt und Screen.ErrorOccurred mit ErrorNumber 17006 ausgelöst.
CreateSimpleNotification (NumberID, Icon, Title, Text)
Erstellt eine einfache Benachrichtigung ohne eine auszuführende Aktion. NumberID: eindeutige ID der Benachrichtigung. Icon: kleines Icon, das angezeigt werden soll. Icon ist entweder die Name einer hochgeladenen Grafik (erst ab API Level 23) oder der Name eines System-Icons. Title: erste Zeile der Benachrichtigung (fett). Text: zweite Zeile.

Es wird das Attribut AutoCancel gesetzt. Damit verschwindet die Benachrichtigung wieder, wenn der Anwender die Nachricht antippt.

Wird eine zweite Benachrichtigung mit der gleichen ID erstellt, bevor die vorhergehende gelöscht wurde, wird diese aktualisiert.
GetActiveNotifications()
Liefert eine Liste mit den IDs der aktiven Benachrichtigungen.
HideChannel ()
Versteckt den Channel. Erst ab API Level 26!
Wenn ein neuer Kanal mit derselben ID erstellt wird, wird der gelöschte Kanal mit allen Einstellungen wieder hergestellt, die er vor dem Löschen hatte.
MoveOtherAppToFront ()
Bringt eine andere bereits laufende Instanz der App in den Vordergrund. Diese Funktion funktioniert nicht im Companion.
OpenHomeScreen ()
Stellt die App in den Hintergrund und öffnet den Home Screen. Simuliert also das Drücke der Home-Taste.
OpenNotificationPanel ()
Öffnet das Fenster, das die Benachrichtigungen anzeigt (Notification Panel).

Die Funktion benötigt die Permission EXPAND_STATUS_BAR. Diese Permission ist im Standard-AI2-Companion nicht angefordert und die Methode funktioniert dort nicht. In Kapitel AI2-FAQ: Patchen des AI2 Companion - zusätzliche Permissions wird erklärt, wie man den AI2-Companion patchen kann und um die notwendigen Permission zu erhalten.
OpenNotificationSettings ()
Benachrichtigungseinstellungen für eine einzelne App anzeigen.
SortSimpleList (List, Ascending)
Sortiert die angegebene Liste mit Texten.