看板 AndroidDev 關於我們 聯絡資訊
各位先進大家好, 目前的需求: 1.需要在指定的時間跳出通知。(類似鬧鐘功能) 2. 每天12點以前要重置所有鬧鐘。 目前實作: 1.用service + AlarmManager ,AlarmManager 呼叫 Broadcast,然後在Broadcast 裡實 作Notification 。 2.Service 裡有跑一個timer ,在12點前重置所有鬧鐘。 3.開機用Broadcast 叫起Service。 問題是這樣的: 1. android 8.0以後 為了省電會把service自動清掉(如果沒有app存在的話)。 2. AlarmManager在當前thread刷掉後,設定的alarm都不會有反應了。 3. 因為開機時沒有app存在,所以無法start service。 想請教各位先進,能否幫忙給點方向或建議,感激不盡。 (目前想法是把service跑在前台) -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.72.48.131 ※ 文章網址: https://www.ptt.cc/bbs/AndroidDev/M.1541762954.A.DF1.html
zcbxvsdf: dern-background-execution-in-android.html 11/09 20:31
RX1226: foreground service 就可以避免service被系統回收 11/10 01:43
aids61517: 1. 前台 Service 11/10 08:21
aids61517: 2. 別用Timer,一樣用AlarmManager 11/10 08:21
aids61517: 3. 註冊開機事件的BroadcastReceiver 11/10 08:22
salavida: 試看看workmanager 11/10 09:08
Nipexc: 可以用JobSevice或JobIntentService 11/11 13:17