Android學習筆記(五五) 通知Notification(下)
阿新 • • 發佈:2018-12-20
Notification除了用於後臺服務通知,還常用在下面情況:
(1)保持服務存在。當系統記憶體不足時,系統會認為某後臺服務佔用記憶體時間太長而中止該服務,以釋放記憶體。對於某些服務,例如播放音樂,如果系統對該服務進行資源釋放,使用者體驗就成了音樂突然沒有聲音。對這類服務,我們希望享有更高的優先級別,不會被系統幹掉。
(2)使用者隨時與服務進行互動。例如播放音樂的服務,使用者可隨時暫停音樂播放,或選擇其他曲目,甚至中止播放音樂服務。
要實現上述兩點,方法是在Service中宣稱自己是foreground,並維持一個通知來向用戶表明foreground狀態,使用者可以通過下拉通知並點選通知,進入該服務介面,實施互動操作。
FakePlayer同原例子的客戶端程式碼,略過不表。Service的程式碼如下
public class FakePlayerService extends Service{ public static final String EXTRA_PLAYLIST="EXTRA_PLAYLIST"; public static final String EXTRA_SHUFFLE="EXTRA_SHUFFLE"; private boolean isPlay = false; private static final int NOTIFY_FAKEPLAYER_ID=1339;