Jeśli masz problemy z powiadomieniem, które chcę pokazać na pasku powiadomień. Chociaż ustawiłem flagę powiadomienia, aby Notification.DEFAULT_LIGHTS & Notification.FLAG_AUTO_CANCEL
powiadomienie nie znikało po kliknięciu. Jakieś pomysły, co robię źle?
NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
int icon = R.drawable.icon;
CharSequence tickerText = "Ticker Text";
long time = System.currentTimeMillis();
Notification notification = new Notification(icon, tickerText, time);
notification.flags = Notification.DEFAULT_LIGHTS & Notification.FLAG_AUTO_CANCEL;
Context context = getApplicationContext();
CharSequence contentTitle = "Title";
CharSequence contentText = "Text";
Intent notificationIntent = new Intent(this, SilentFlipConfiguration.class);
PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);
notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent);
mNotificationManager.notify(1,notification);
mNotificationManager.notify(1,notification);
i NotificationBuildermNotificationManager.notify(1, mBuilder.build());
? Dzięki.notificationBuilder.setAutoCancel(true);
nie działa dla mnie. Czy powinienem umieścić przed moim oczekującym zamiarem?notification.flags = Notification.DEFAULT_LIGHTS | Notification.FLAG_AUTO_CANCEL
Z dokumentacji:
źródło
Notification.DEFAULT_LIGHTS
jest częściąNotification.defaults
klasy, a nieNotification.flags
klasy. Zobacz moją odpowiedź dla odpowiednich seterów.// Uses the default lighting scheme notification.defaults |= Notification.DEFAULT_LIGHTS; // Will show lights and make the notification disappear when the presses it notification.flags |= Notification.FLAG_AUTO_CANCEL | Notification.FLAG_SHOW_LIGHTS;
źródło
Stan 2016: możesz użyć
mBuilder.setAutoCancel(true)
.Źródło: https://developer.android.com/reference/android/app/Notification.Builder.html
źródło
Odpowiedzią dla mnie było użycie
mBuilder.setOngoing(false)
źródło
Użyj flagi Notification.FLAG_AUTO_CANCEL
Notification notification = new Notification(icon, tickerText, when); notification.setLatestEventInfo(context, contentTitle, contentText, pendingIntent); // Cancel the notification after its selected notification.flags |= Notification.FLAG_AUTO_CANCEL;
i aby uruchomić aplikację:
NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); Intent intent = new Intent(context, App.class); PendingIntent pendingIntent = PendingIntent.getActivity(context, intent_id, intent, PendingIntent.FLAG_UPDATE_CURRENT);
źródło
Usuń powiadomienie
Powiadomienia pozostają widoczne, dopóki nie nastąpi jedna z następujących sytuacji:
Aby uzyskać więcej informacji, zobacz: https://developer.android.com/training/notify-user/build-notification?hl=en
źródło