因此作业调度程序api适用于以后的任务。看起来这些任务似乎就像是在某个时间从互联网下载或者其他什么。我只是想做一个闹钟应用程序。这会过度工程吗?
以后激活和设置闹钟所需的组件是什么?我希望能够让我的应用程序设置闹钟并激活它,而不是依赖于另一个闹钟应用程序
编辑:
根据http://www.vogella.com/tutorials/AndroidTaskScheduling/article.html,似乎警报管理员已经过时,而就业调查员就是它的替代者?
答案 0 :(得分:4)
这不仅仅是过度工程,JobScheduler
在你的情况下也不会真正有效。
JobScheduler
是好的,这些任务需要一些额外的资源 - 比如网络。此外,依赖JobScheduler
不适用于Lollipop之前的设备(但您可以使用Google Play服务中的GcmNetworkManager
作为替代品。)
在你的情况下AlarmManager
就足够了。它没有被弃用 - 只有一些通常使用AlarmManager
实现的用例目前得到JobScheduler
更好的支持(就像需要WIFI才能成功的重复任务)。这也是您链接的文章。
汇总:
AlarmManager
在时间方面通常更可靠。您的代码可以按计划运行的确切时间运行。对于闹钟应用来说听起来非常重要,是吧?AlarmManager
对设备的状态一无所知 - 如果您希望将来执行某些任务并且依赖于有效的Internet连接,则它不是正确的选择。 JobScheduler涵盖了这一点 - 但事实并非如此。JobScheduler
适用于Android 5.0及更高版本(但您可以使用Google Play服务中的GcmNetworkManager
作为替代品,在这种情况下,您可以放弃对不使用Google Play的设备(如亚马逊手机)的支持。 AlarmManager
也可以启动您的代码。 JobScheduler
没有。答案 1 :(得分:0)
这似乎不是正确的答案。它可能会起作用,但这似乎更适合以半实时方式安排工作。您通常用于警报类型应用程序的只是AlarmManager。