我想要跟踪用户在特定的时期和时间的一天。我每2分钟启动一次报警管理器(我从服务器获取周期性时间,这在我的应用程序中是动态的),并尝试获取位置大约一分钟,之后我停止获取位置,并将获取的位置保存在数据库中。无论如何,这种方法运行得很好,但在api级别23和更高级别,我的应用程序在打瞌睡和待机模式下不能很好地运行,并且不能在特定的时间内调用警报!我对API23级及更高级别使用了setExactAndAllowWhileIdle方法,但效果不佳。
文件说,我不能在打瞌睡和待机模式下使用更多的闹钟。我的问题是,如何在android 6和更高版本中跟踪用户?
发布于 2017-10-15 15:25:47
当在打瞌睡中使用报警时,使用setAlarmClock()而不是set(),因为它是专门为AlarmClocks设计的,所以它甚至可以在打瞌睡时运行。
或者,
你听说过Firebase-job-dispatcher吗?
Android Firebase JobDispatcher是一个开源库,它提供了一个类似于
平台中的JobScheduler的接口。Firebase JobDispatcher作为作业调度器兼容层,面向低于5.0 (API level 21)的安卓版本的应用程序。Firebase JobDispatcher支持使用Google Play服务作为调度(运行)作业的实现,但该库还允许您定义和使用其他实现:例如,您可能决定使用JobScheduler或编写自己的自定义代码。由于这种多功能性,如果您的应用程序针对的是低于5.0 ( JobDispatcher level 21)的安卓版本,我们建议您使用此Firebase。
你应该去尝试一下。他们也有非常好的配置技术。
https://stackoverflow.com/questions/46752349
复制相似问题