2013-02-22 42 views
1

讓我們假設你希望顯示與前臺服務國旗的通知,並使用nm來顯示它:如何取消Notification.FLAG_FOREGROUND_SERVICE

Notification notification = new Notification(...); 
notification.flags |= Notification.FLAG_FOREGROUND_SERVICE 
nm.notify(SOME_ID, notification); 

通知就會出現。但是,刪除它很困難,因爲這看起來沒有任何作用:

nm.cancel(SOME_ID); 

如何取消此通知? stopForeground不是解決方案,因爲我不在服務中。

+0

這很奇怪。我期望'cancel()'在這裏工作。你碰巧有一個示例應用程序來演示這個問題嗎?順便說一句,它看起來像至少有點問題:https://code.google.com/p/android/issues/detail?id=24581 – CommonsWare 2013-02-22 13:14:55

+0

有沒有解決方案? – senzacionale 2013-02-22 21:47:44

回答

2

有沒有解決方法?

如果this issue是相信,那麼不,除了有服務電話stopForeground()。您可以通過startService()向您的服務發送命令,以便撥打stopForeground()。或者,您可以創建一個小巧的專用Service,只需撥打stopForeground()stopSelf()即可從onStartCommand()中刪除此通知。