2016-12-30 40 views
0

我有一個需要作爲前臺服務運行的服務。 爲了達到這個目的,通知必須與其鏈接。如何修改使用StartForeground創建的通知?

當服務啓動時,我將OnGoing設置爲true,並且當用戶與Notification交互以停止服務時,我想將當前通知更改爲OnGoing(false)。 (如果需要,用戶可以關閉通知) 我希望通知仍然可見,以便用戶可以從通知中再次啓動服務。

通常情況下,我將不得不使用NoficiationManager來通知特定的ID並稍後對其進行修改。 但是,通過調用StartForeground(標誌,通知),沒有選項來設置標識。

如何將OnGoing(true)通知(以StartForeground調用開始)修改爲OnGoing(false)?

回答

0

我認爲你的想法是正確的:你必須使用一個ID,然後使用該ID更新通知。

startForeground方法的第一個字段不是一個標誌,而是一個ID。這裏的招牌:

void startForeground (int id, Notification notification)

文檔here

所以,你可以更新通知,使用相同的ID。

mNotificationManager.notify(sNotificationId, notification); 
+0

謝謝你,我是在用Xamarin的Android事實,並在他們的例子,第一個參數是說,這是一個標誌「StartForeground((int)的NotificationFlags.ForegroundService」,這顯然是錯誤的。其實我不得不打電話給StopForeground,以便通知不被允許。 –

相關問題