java我应该为此使用AlarmManager或JobScheduler吗?
我的数据库中有一个表,其中每一行描述一个计划。例如:
ID | CODE | DAY | TIME
___________________________________
1 1 Mon 8
2 27 Wed 15
换句话说,每周一上午8点,调用与代码1对应的函数。每周三下午3点,调用代码27对应的函数,以此类推
在Android中,在适当的时间调用所有这些任务的正确方式是什么?我见过AlarmManager和JobScheduler,但我不知道哪一个更适合用于类似的东西
我不需要超精确的时间(让事件从指定的时间触发+/-几秒甚至几分钟不是什么大问题),但我确实需要它们在任何可能的时候触发
# 1 楼答案
将AlarmManager与
setExactAndAllowWhileIdle
一起使用请注意,在棉花糖和更高版本上,使用AlarmManager计划的任务可能由于Doze而延迟。获得精确计时的唯一方法是使用
setAlarmClock
,它可能会在某些系统的状态栏中显示闹钟图标# 2 楼答案
如果您只需要在没有网络或费用检查的情况下按计划触发事件,Alarm Manager是一个轻量级的工作解决方案
# 3 楼答案
您可以尝试使用此库来实现快速报警管理器
https://android-arsenal.com/details/1/4755
# 4 楼答案
根据创建报警的要求,报警管理器作为一种或另一种方式将更适合您尝试执行的映射