Android - NotificationCompat.Generator-stacking-Benachrichtigungen mit setGroup (- Gruppe) funktioniert nicht
Ich möchte stack-Meldungen mit setGroup (wie hier beschrieben: https://developer.android.com/training/wearables/notifications/stacks.html)
Grundsätzlich, ich verwende 0 als Benachrichtigungs-id (immer die gleichen) und builder.setGroup("test_group_key")
aber eine neue Meldung ersetzt immer die Vorherige.
Was könnte das problem sein ?
Code:
public BasicNotifier(Context context) {
super(context);
notifManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
mBuilder = new NotificationCompat.Builder(context)
.setSmallIcon(R.drawable.ic_launcher)
.setSound(alarmSound)
.setAutoCancel(true);
stackBuilder = TaskStackBuilder.create(context);
stackBuilder.addParentStack(getParentActivityClass());
}
public void showNotification(String title, String text, Intent intent, Class cls) {
if (text.length() > 190)
text = text.substring(0, 189) + "...";
mBuilder.setTicker(text).setContentText(text).setContentTitle(title);
Intent notificationIntent = intent == null ? new Intent() : new Intent(intent);
notificationIntent.setClass(getContext(), cls);
stackBuilder.addNextIntent(notificationIntent);
PendingIntent resultPendingIntent = stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT);
mBuilder.setContentIntent(resultPendingIntent);
mBuilder.setGroup("test_group_key");
Notification notif = mBuilder.build();
notif.flags |= Notification.FLAG_AUTO_CANCEL;
notifManager.notify(replaceOnNew ? 0 : nextId++, notif); //replaceOnNew
//is "true"
Log.i(TAG, "Notification shown: " + nextId + " = " + title);
}
EDIT:
Es scheint gibt es ein problem bei der Verwendung NotificationManagerCompat, werden die Benachrichtigungen nicht angezeigt.
NotificationManagerCompat notificationManager =
NotificationManagerCompat.from(getContext());
notificationManager.notify(id, notif);
- Hast du eine Antwort? Und kann man den neuen code?
- Für alle anderen kommen über dieses Problem, es scheint ein bug in der Bibliothek unterstützt über mehrere Versionen code.google.com/p/android/issues/detail?id=159947
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden Sie keine Benachrichtigungs-id richtig.
"So richten Sie eine Benachrichtigung, damit es aktualisiert werden kann, - Problem mit der Benachrichtigungs-ID durch den Aufruf NotificationManager.notify(ID, Mitteilung). Aktualisieren diese Meldung, sobald Sie haben es ausgestellt hat, zu aktualisieren oder erstellen Sie ein NotificationCompat.Builder-Objekt, bauen Sie eine Benachrichtigung Objekt aus, und geben Sie die Mitteilung mit der gleichen ID, die Sie zuvor verwendet haben."
von Android-Entwickler
So, in Ihrem Fall, wenn Sie wollen stack-Benachrichtigung in Ihrer Gruppe, müssen Sie einen neue id für jede neue Benachrichtigung.