0

我想在特定时间段和特定时间跟踪用户。我每 2 分钟启动一次警报管理器(我从服务器获取周期性时间,这在我的应用程序中是动态的)并尝试获取大约一分钟的位置,之后我停止获取位置并保存在 DB 上获取的位置。无论如何,这种方法运行得很好,但在 api 级别 23 及更高级别,我的打瞌睡和待机模式应用程序无法正常运行,也不能在特定时间调用警报!我使用setExactAndAllowWhileIdle了 api 级别 23 及以上的方法,但效果不佳。

文件说,我不能在打瞌睡和待机模式下使用更多警报。我的问题是,如何在 android 6 及更高版本中跟踪用户?

4

1 回答 1

0

在打瞌睡中使用警报时,请使用setAlarmClock()而不是set()专门为 AlarmClocks 设计的,因此即使在打瞌睡中也可以运行。

或者,

你听说过Firebase-job-dispatcher吗?

Firebase JobDispatcher 是一个开源库,提供类似于 Android 平台中的 JobScheduler 的 API。Firebase JobDispatcher 用作针对 Android 版本低于 5.0(API 级别 21)的应用的 JobScheduler 兼容性层。

Firebase JobDispatcher 支持使用 Google Play 服务作为调度(运行)作业的实现,但该库还允许您定义和使用其他实现:例如,您可能决定使用 JobScheduler 或编写自己的自定义代码。由于这种多功能性,如果您的应用面向低于 5.0(API 级别 21)的 Android 版本,我们建议您使用此 Firebase JobDispatcher。

你应该去争取。他们也有很好的配置技术。

于 2017-10-15T07:25:47.357 回答