因此,我首先要说我已经对此进行了很多研究,但是我仍然很困惑。
因此,目标是:执行数据库操作(将提醒消息插入本地sqlitedb),并在某些用户设置指定的预设时间发送通知。
这是问题所在:关闭应用程序后无法正常工作。
我尝试将AlarmManager
与广播暂挂意图以及服务暂挂意图一起使用。似乎都没有在问题情况下工作。经过深入研究之后,我发现在较新版本的Android上,他们正在削减AlarmManager
的某些功能,转而使用JobScheduler
,这是1)似乎过时的新API 2)在较旧的设备上无法正常运行。在应用程序关闭时发送警报似乎是“减少”功能之一。我该怎么办?我要用什么?其他人通常做什么?我误会了吗?请帮忙;我在Google上找不到任何东西!
答案 0 :(得分:2)
运行“工作”棒棒糖之前有几种方法。
您可以使用JobSchedulerCompat
库,但是与默认的Lollipop API相比,该库有很大的不同:
在Lollipop上,作业可以一次批处理并计划所有应用程序。但是,该库无法访问其他应用程序数据,因此无法使用该库合并来自两个不同应用程序的作业。
另一种选择是将JobScheduler
用于棒棒糖和更大的设备,然后将AlarmManager
用于棒棒糖之前的设备,方法是检查
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP){}
最后,您可以使用Sync-Adapter API
。同步适配器封装了用于在设备和服务器之间传输数据的任务的代码。根据您在应用程序中提供的计划和触发器,同步适配器框架将在同步适配器组件中运行代码。要将同步适配器组件添加到您的应用,您需要添加以下内容: