2010-05-14 2 views
0

Я показываю Notification в строке состояния в зависимости от моего состояния. До этого все в порядке.Как удалить уведомление из строки состояния?

Теперь проблема в моем приложении - это когда я возвращаюсь к приложению, но в строке состояния отображается Notification.

Я не хочу Notification, когда вернусь из приложения. Для этого дайте мне несколько советов.

ответ

0

Вы можете cancel() свои собственные Notifications через NotificationManager. Вам решать, когда это сделать: cancel() и когда это показывать.

4

У меня недостаточно комментариев, чтобы добавить комментарий, чтобы @Commonware. , , было бы более полезно будущим читателям, если бы вы предоставили более конкретные данные, например, указав им использовать «идентификатор уведомления», когда они создают уведомление и используют этот идентификатор для отмены уведомления. Если вы дадите ответ, заставьте его заполнить или, по крайней мере, предоставить полную информацию. Эти должности предназначены не только для OP, но и для других, которые сталкиваются с этим сообщением. как так

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

Тогда для его отмены вы звоните

notificationManager.cancel(NOTIFICATION_ID); 

или вы можете позвонить

notificationManager.cancelAll(); 
0
private void cancelNotificationInBar() { 
     NotificationCreator notification = new NotificationCreator(getApplicationContext()); 
     notification.mNotificationManager = (NotificationManager) this.getSystemService(Context.NOTIFICATION_SERVICE); 

     if (notification.mNotificationManager != null) { 
      notification.mNotificationManager.cancelAll(); 
     } 
    }