每天推送通知

时间:2018-07-16 06:32:06

标签: java android android-notifications

我如何创建每天在特定时间推送通知的服务?我一直在尝试在Google上使用多种方法,但它们效果不佳。有人知道这样做的好方法吗?有人说使用AlarmManager更好,而其他人则说应该使用JobScheduler,因为AlarmManager已过时。 有人有很好的参考吗?

2 个答案:

答案 0 :(得分:0)

如果您希望在准确的时间执行某些操作,则应使用AlarmManager。

基于documentation

  

标准AlarmManager警报(包括setExact()和setWindow())   推迟到下一个维护窗口。

     
      
  • 如果您需要设置在打ze睡时触发的警报,请使用 setAndAllowWhileIdle ()或 setExactAndAllowWhileIdle ()。
  •   
  • 通过setAlarmClock()设置的警报继续正常触发-在这些警报触发之前,系统立即退出Doze。
  •   

您无法使用JobScheduler在特定时间触发某些操作。作业的执行受OS控制。在打ze模式下将推迟作业,因此无法在准确的时间触发。

要确保必须在特定时间间隔内触发作业,请使用JobScheduler,但是在精确时间执行并不重要。

答案 1 :(得分:0)

设置用于推送通知的后端服务器。当Api向FCM发送命中请求以设备ID发送推请求时,设备将收到通知。对于从后端自动推送,请使用来自后端的cron。后台进程在后端api中运行,它将在一定时间间隔内到达FCM,并且设备将收到PUSH通知。