在Android中安排动作或警报

时间:2018-08-23 23:27:27

标签: android alarmmanager alarm android-alarms android-jobscheduler

因此,我首先要说我已经对此进行了很多研究,但是我仍然很困惑。

因此,目标是:执行数据库操作(将提醒消息插入本地sqlitedb),并在某些用户设置指定的预设时间发送通知。

这是问题所在:关闭应用程序后无法正常工作。

我尝试将AlarmManager与广播暂挂意图以及服务暂挂意图一起使用。似乎都没有在问题情况下工作。经过深入研究之后,我发现在较新版本的Android上,他们正在削减AlarmManager的某些功能,转而使用JobScheduler,这是1)似乎过时的新API 2)在较旧的设备上无法正常运行。在应用程序关闭时发送警报似乎是“减少”功能之一。我该怎么办?我要用什么?其他人通常做什么?我误会了吗?请帮忙;我在Google上找不到任何东西!

1 个答案:

答案 0 :(得分:2)

运行“工作”棒棒糖之前有几种方法。

您可以使用JobSchedulerCompat库,但是与默认的Lollipop API相比,该库有很大的不同:

在Lollipop上,作业可以一次批处理并计划所有应用程序。但是,该库无法访问其他应用程序数据,因此无法使用该库合并来自两个不同应用程序的作业。

另一种选择是将JobScheduler用于棒棒糖和更大的设备,然后将AlarmManager用于棒棒糖之前的设备,方法是检查 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP){}

最后,您可以使用Sync-Adapter API。同步适配器封装了用于在设备和服务器之间传输数据的任务的代码。根据您在应用程序中提供的计划和触发器,同步适配器框架将在同步适配器组件中运行代码。要将同步适配器组件添加到您的应用,您需要添加以下内容:

  • 同步适配器类。
  • 绑定服务。
  • 同步适配器XML元数据文件。
  • 应用清单中的声明。