[問題] android 8.0以上 定時通知功能

看板AndroidDev作者 (mike)時間5年前 (2018/11/09 19:29), 編輯推噓4(404)
留言8則, 5人參與, 5年前最新討論串1/1
各位先進大家好, 目前的需求: 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

11/09 20:31, 5年前 , 1F

11/09 20:31, 5年前 , 2F
dern-background-execution-in-android.html
11/09 20:31, 2F

11/10 01:43, 5年前 , 3F
foreground service 就可以避免service被系統回收
11/10 01:43, 3F

11/10 08:21, 5年前 , 4F
1. 前台 Service
11/10 08:21, 4F

11/10 08:21, 5年前 , 5F
2. 別用Timer,一樣用AlarmManager
11/10 08:21, 5F

11/10 08:22, 5年前 , 6F
3. 註冊開機事件的BroadcastReceiver
11/10 08:22, 6F

11/10 09:08, 5年前 , 7F
試看看workmanager
11/10 09:08, 7F

11/11 13:17, 5年前 , 8F
可以用JobSevice或JobIntentService
11/11 13:17, 8F
文章代碼(AID): #1RvM-Atn (AndroidDev)