Wer weiß, wie eine Benachrichtigung per ID erhalten? Ich möchte, wenn eine neue Benachrichtigung erhalten, wenn es noch in der Statusleiste von Android angezeigt wird, um die Informationen zu erhalten und zu einer neuen Benachrichtigung hinzuzufügen. Vielen Dank.notificationManager erhalten Benachrichtigung von ID
6
A
Antwort
11
NotificationManager gibt Ihnen keine Möglichkeit, vorhandene Benachrichtigungen nach ID zu suchen. Wenn Sie eine Benachrichtigung aktualisieren möchten, geben Sie eine neue Benachrichtigung ein, verwenden Sie jedoch dieselbe ID. Es wird es entweder als neu anzeigen oder die vorhandene Benachrichtigung mit dieser ID aktualisieren.
0
Sie können eine aktive Benachrichtigungsliste vom NotificationManager abrufen.
public boolean isNotificationActive(int notificationId) {
NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
StatusBarNotification[] barNotifications = notificationManager.getActiveNotifications();
for(StatusBarNotification notification: barNotifications) {
if (notification.getId() == notificationId) {
return true;
}
}
return false;
}
+1
erfordert API 23 und höher – SolidSnake
Dies wird die alte Benachrichtigung ersetzen? –
Direkt aus der Dokumentation: "Wenn eine Benachrichtigung mit derselben ID bereits von Ihrer Anwendung gepostet wurde und noch nicht storniert wurde, wird sie durch die aktualisierte Information ersetzt." https://developer.android.com/reference/android/app/NotificationManager.html#notify(int,%20android.app.Notification) – Karakuri
Dank Karakuri, löste ich mein Problem mit sharedpreferences ich Daten darin speichern und ich verwende auf aktualisieren. –