Come rimuovo la notifica dalla barra di stato?
-
26-09-2019 - |
Domanda
Sto mostrando un Notification
nella barra di stato a seconda della mia condizione. Fino a questo, va bene.
Ora il problema nella mia applicazione è quando torno all'applicazione, ancora il Notification
viene visualizzato nella barra di stato.
Non voglio il Notification
Quando torno dall'applicazione. Per questo dammi alcuni suggerimenti.
Soluzione
Puoi cancel()
il tuo Notifications
tramite il NotificationManager
. Sta a te decidere quando cancel()
e quando mostrarlo.
Altri suggerimenti
Non ho abbastanza rappresentanti per aggiungere commenti quindi @commonware. . . Sarebbe più utile per i futuri lettori se avessi fornito dettagli più specifici come dire loro di usare un "ID di notifica" Quando creano la notifica e usano quell'ID per annullare la notifica. Se dai una risposta, rendila completa o almeno fornisci i dettagli completi. Questi post non sono pensati solo per l'OP, ma aiuta anche gli altri che incontrano questo post. così
final NotificationManager notificationManager = (NotificationManager) getSystemService (NOTIFICATION_SERVICE);
final Notification notification = new Notification(R.drawable.icon,"A New Message!",System.currentTimeMillis());
notification.defaults=Notification.FLAG_ONLY_ALERT_ONCE+Notification.FLAG_AUTO_CANCEL;
Intent notificationIntent = new Intent(this, AndroidNotifications.class);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0,notificationIntent, 0);
notification.setLatestEventInfo(AndroidNotifications.this, title,message, pendingIntent);
notificationManager.notify(NOTIFICATION_ID, notification);
Quindi per annullarlo chiami
notificationManager.cancel(NOTIFICATION_ID);
Oppure puoi chiamare
notificationManager.cancelAll();
notificationManager.cancelAll();
private void cancelNotificationInBar() {
NotificationCreator notification = new NotificationCreator(getApplicationContext());
notification.mNotificationManager = (NotificationManager) this.getSystemService(Context.NOTIFICATION_SERVICE);
if (notification.mNotificationManager != null) {
notification.mNotificationManager.cancelAll();
}
}