Como faço para remover a notificação da barra de status?
-
26-09-2019 - |
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.
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();
}
}