我想跟踪特定时段和天数的用户。我每2分钟启动一次报警管理器(我从服务器获得定期时间,这在我的应用程序中是动态的)并尝试获取位置大约一分钟,之后我停止获取位置并保存在DB上的位置。无论如何,这种方法运行得很好,但在api级别23及以上,我的打瞌睡和待机模式的应用程序运行不好,并且在特定时间内不会调用警报!我使用setExactAndAllowWhileIdle
方法用于api等级23及以上,但效果不佳。
文件说,我不能在打盹和待机模式下使用更多警报。 我的问题是,如何在Android 6及以上版本中跟踪用户?
答案 0 :(得分:0)
在打盹中使用闹钟时,请使用setAlarmClock()代替set()
,因为它是专为AlarmClocks设计的,因此它甚至可以在打瞌睡中运行。
或者,
你听说过Firebase-job-dispatcher吗?
Firebase JobDispatcher是一个提供API的开源库 类似于Android平台中的JobScheduler。火力地堡 JobDispatcher充当应用程序的JobScheduler兼容层 定位Android版本低于5.0(API级别21)。
Firebase JobDispatcher支持将Google Play服务用作 调度(运行)作业的实现,但库也 允许您定义和使用其他实现:例如,您 可能决定使用JobScheduler或编写自己的自定义代码。 由于这种多功能性,我们建议您使用此Firebase 如果您的应用针对的Android版本低于5.0,则为JobDispatcher (API级别21)。
你应该去做。他们也有很好的配置技术。