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.

È stato utile?

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();
        }
    }
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top