2011-09-08 53 views
1

以下是我的故事:我創建了一個應用程序,該應用程序在啓動時啓動並在指定的時間間隔執行某些操作。爲了達到這個目的,我創建了一個使用AlarmManager來創建重複事件的服務,然後由BroadcastReceiver來處理這個重複的事情。當服務被銷燬時(用戶選擇退出應用程序),該事件必須被取消,因此該服務必須繼續參考用於啓動它的相同的PendingIntentAndroid前景服務

問題:服務必須調用startForeground以確保它不會死亡,因此它可以保留對PendingIntent的引用。通知會一直顯示在狀態欄中,用戶覺得很煩人(說實話,我也是)。

下一步是什麼?理想情況下,我正在尋找將圖標保存在狀態欄中的解決方案,但不會顯示在下拉列表中。這樣用戶就會知道它正在運行,不會因浪費空間而煩惱。

很少猜測:也許有可能在重新創建服務時恢復引用?如果是這樣,怎麼樣?這樣我可以避免使用startForeground。但是,如何讓圖標進入狀態欄?

或者也許有人有更好的解決方案?

回答

0

首先,您不必一直堅持到PendingIntent。如果您擁有所有必需的數據,您以後可以重新創建它以取消通知 - 只需使用完全相同的數據重新創建它即可。

+0

謝謝,這是一個很好的開始,但仍然如何,我可以把圖標放入狀態欄沒有擴展的消息? –