Pergunta

Estou exibindo um Notification Na barra de status, dependendo da minha condição. Até isso, está tudo bem.

Agora, o problema no meu aplicativo é quando eu volto à aplicação, ainda o Notification é exibido na barra de status.

Eu não quero o Notification Quando volto do aplicativo. Para isso, me dê algumas sugestões.

Foi útil?

Solução

Você pode cancel() seu próprio Notifications através do NotificationManager. Cabe a você decidir quando cancel() e quando mostrar.

Outras dicas

Não tenho representante suficiente para adicionar comentários, @commonware. . . Seria mais útil para futuros leitores se você desse mais detalhes específicos, como dizer a eles para usar um "ID de notificação" Quando eles criam a notificação e usam esse ID para cancelar a notificação. Se você der uma resposta, faça com que seja completo ou pelo menos forneça os detalhes completos. Essas postagens não são apenas destinadas ao OP. Ajuda outras pessoas que também se deparam com este post. igual a

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);

Então para cancelá -lo, você liga

notificationManager.cancel(NOTIFICATION_ID);

ou você pode ligar

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();
        }
    }
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top