sgoliver - notificaciones en la barra de estado android studio
La notificación de Android no desaparece después de hacer clic en la notificación (5)
Estado 2016: puede usar mBuilder.setAutoCancel(true)
.
Fuente: https://developer.android.com/reference/android/app/Notification.Builder.html
Si tengo algunos problemas con una notificación que quiero mostrar en la barra de notificaciones. Aunque configuré el indicador de notificación en Notification.DEFAULT_LIGHTS & Notification.FLAG_AUTO_CANCEL
la notificación no desaparece después de hacer clic en ella. ¿Alguna idea de lo que estoy haciendo mal?
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);
Mientras construyes Notification
by NotificationBuilder
, puedes usar notificationBuilder.setAutoCancel(true);
.
Usa la bandera 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;
y para iniciar la aplicación:
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);
// 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;
notification.flags = Notification.DEFAULT_LIGHTS | Notification.FLAG_AUTO_CANCEL
De la documentación:
Bit para ser bit a bit - o ed en el campo de banderas que debe establecerse si la notificación debe ser cancelada cuando el usuario hace clic en ella