[问题] 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