2017-10-18 98 views
-1

我是Android新手。我有简单的应用程序,我想设置每日通知。这样做的最好方法是什么?如何在打开的应用程序上启动AlarmManager?

我发现了两个可能性:

  1. 在开机的时候,但是这不是为我好。只有当我打开我的应用程序并且直到它没有被销毁时,我才会开始我的通知。否则,这需要使用权限。
  2. 在扩展类Application的自定义类中,但在此类中,我无法访问Intent和SystemService。

也许我可以使用这方面的服务吗?但是如何?

回答

0

您有几种选择:

的jobscheduler

如果您minSdk> = 21,可以使用JobScheduler。您可以使用builder创建周期性任务。这是Doze的正确解决方案。

火力地堡JobDispatcher

如果你想支持超过棒棒糖老,你应该使用火力地堡JobDispacher。它与JobScheduler非常相似,基于Firebase。用户必须拥有谷歌发挥服务

AlarmManager

这个工作老校友的工具,并与瞌睡不兼容。你应该避免它。

前两种解决方案允许您在整个系统重启过程中坚持作业。

+0

谢谢,但我怎么能自动启动JobScheduler,与用户的反应? – laxo

+0

您可以在应用程序运行期间随时安装作业。您可以在第一次启动应用程序时设置作业。另一种解决方案是使用'BOOT_COMPLETED'广播消息,但是您还需要'RECEIVE_BOOT_COMPLETED'权限。 – neworld

相关问题