在我的應用程序,我把我的服務在前臺,以防止它被殺死使用:更新通知是否刪除服務的前臺狀態?
startForeground(NOTIFY_ID, notification);
這也顯示通知用戶(這是偉大的)。問題是後來我需要更新通知。所以我使用的代碼:
notification.setLatestEventInfo(getApplicationContext(), someString, someOtherString, contentIntent);
mNotificationManager.notify(NOTIFY_ID, notification);
然後問題是:這樣做會把服務從它的特殊的前景狀態?
在this answer,CommonsWare表明這種行爲是可能的,但他不確定。那麼是否有人知道實際答案?
注:我知道一個簡單的方法來擺脫這個問題是重複調用startForeground()
我想更新通知每次。我期待知道這種替代方案是否也能起作用。
順便說一句,雖然可以更新現有通知的文字,你不能使股票文字顯示在狀態欄上不止一次對於給定的通知,即使更改它 - 至少不使用Notification.FLAG_ONGOING_EVENT。要爲現有通知顯示新的報價文本,您需要取消通知並重新啓動。 –