Android JobScheduler API对闹钟应用程序的设计是否过度?

Android JobScheduler API对闹钟应用程序的设计是否过度?,android,Android,因此,作业调度器api用于以后的任务。看起来这些任务就像是在某个特定的时间从互联网上下载一样。我只是想做一个闹钟应用程序。这会超过工程设计吗 以后激活和设置报警所需的组件有哪些?我希望能够让我的应用程序设置闹钟并激活它,而不是依赖另一个闹钟应用程序 编辑: 根据调查,似乎alarmmanager已经过时,而jobscheduler是它的替代品?这似乎不是正确的答案。这可能是为了工作,但这似乎更适合于以半实时方式安排作业。通常用于报警类型应用程序的只是AlarmManager。这不仅仅是过度工程,

因此,作业调度器api用于以后的任务。看起来这些任务就像是在某个特定的时间从互联网上下载一样。我只是想做一个闹钟应用程序。这会超过工程设计吗

以后激活和设置报警所需的组件有哪些?我希望能够让我的应用程序设置闹钟并激活它,而不是依赖另一个闹钟应用程序

编辑:


根据调查,似乎alarmmanager已经过时,而jobscheduler是它的替代品?

这似乎不是正确的答案。这可能是为了工作,但这似乎更适合于以半实时方式安排作业。通常用于报警类型应用程序的只是AlarmManager。

这不仅仅是过度工程,
作业调度程序在您的情况下不会真正正常工作

JobScheduler
如果您想为以后安排一些任务,并且这些任务需要一些额外的资源(如网络资源),那么它很好。此外,依赖
JobScheduler
对于棒棒糖前的设备也不起作用(但您可以使用Google Play Services提供的
GcmNetworkManager

在您的情况下,
AlarmManager
就足够了。它并没有被弃用-只是一些通常使用
AlarmManager
实现的用例目前得到了
JobScheduler
的更好支持(比如需要WIFI才能成功的重复性任务)。这也是你链接的文章所说的

总结:

  • AlarmManager
    通常在计时方面更可靠。您的代码可以按照您计划的确切时间运行。对于闹钟应用来说,这听起来很重要,是吧
  • AlarmManager
    对设备的状态一无所知-如果您希望在将来执行某些任务,并且这些任务依赖于工作的Internet连接,那么这不是一个正确的选择。JobScheduler涵盖了这一点,但这不是你的情况
  • JobScheduler
    适用于Android 5.0及更高版本(但您可以使用Google Play服务提供的
    GcmNetworkManager
    作为替代,在这种情况下,您将放弃对不使用Google Play分发的设备的支持,如亚马逊手机)
  • 安卓6.0引入了打盹模式。这是一种新的电池优化机制,当设备长时间不使用时,它会使设备进入睡眠状态
    AlarmManager
    可以在手机打瞌睡时触发您的代码<代码>作业计划程序
尚未启动
嘿,我在问题中添加了一个编辑。这是一个链接,它让人觉得alarmmanager过时了,而jobscheduler是它的替代品。实际上,最后一点是错误的,你可以覆盖jobscheduler,因为它对Doze Mode很重要。嘿,我在我的问题中添加了一个编辑。它的链接让人觉得alarmmanager已经过时,而jobscheduler是它的替代品—根本不是。JobScheduler更多的是关于实时计算。这与单纯的警报调度是完全不同的。这就像说砖是过时的建筑材料,因为我们可以建造摩天大楼。