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

作者: mike20029631 (mike)   2018-11-09 19:29:12
各位先進大家好,
目前的需求:
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跑在前台)
作者: zcbxvsdf (東北一頭羊)   2018-11-09 20:31:00
https://android-developers.googleblog.com/2018/10/modern-background-execution-in-android.html
作者: RX1226 (NO KING)   2018-11-10 01:43:00
foreground service 就可以避免service被系統回收
作者: aids61517 (奇歐巴肯)   2018-11-10 08:21:00
1. 前台 Service2. 別用Timer,一樣用AlarmManager3. 註冊開機事件的BroadcastReceiver
作者: salavida (席阿)   2018-11-10 09:08:00
試看看workmanager
作者: Nipexc (Ni)   2018-11-11 13:17:00
可以用JobSevice或JobIntentService

Links booklink

Contact Us: admin [ a t ] ucptt.com