我已经开发了android应用程序,其中我正在运行前台服务,它获取用户的当前位置,并在用户更改其位置或如果用户不更改其位置后将其发送到服务器,然后它每5分钟推送当前位置。现在的情况是:在华为手机上,我注意到了问题。每当我锁定我的手机,然后华为操作系统停止前台GPS服务,位置不会发送到服务器,这就给我带来了问题。我已经尝试了堆栈溢出的所有可用的解决方案,但没有成功
发布于 2020-07-20 05:59:42
这是由于Doze模式导致的,你可以在这里了解Android Doze模式https://developer.android.com/training/monitoring-device-state/doze-standby
您可以使用工作管理器来实现您的目的:https://developer.android.com/topic/libraries/architecture/workmanager
WorkManager允许您使用灵活的调度窗口将工作调度为一次性运行或重复运行。还可以对工作进行标记和命名,允许您安排唯一的、可替换的工作,并一起监视或取消工作组。计划的工作存储在内部管理的SQLite数据库中,WorkManager负责确保此工作持续存在,并在设备重新启动时重新安排。此外,WorkManager遵循省电功能和最佳实践,如Doze模式,因此您不必担心。
https://stackoverflow.com/questions/62979372
复制相似问题