屏幕关闭时,Android 10 会阻止网络请求和 GPS 呼叫
Posted
技术标签:
【中文标题】屏幕关闭时,Android 10 会阻止网络请求和 GPS 呼叫【英文标题】:Android 10 blocks network requests and GPS calls when screen is off 【发布时间】:2020-07-12 19:29:14 【问题描述】:我制作了一个应用程序,它实际上每 15 分钟将用户位置发送到服务器。这使用触发下一个的警报管理器(一个镜头)。警报管理器触发前台服务,该服务负责获取用户位置并上传到我的服务器。
当用户与设备交互时,流程非常棒。当屏幕关闭(锁定)时,它可以在一段时间内正常工作,后来它无法发送请求并获取 GPS 数据。所以我使用唤醒锁打开屏幕 30 秒,以便设备退出打盹模式。
这种方法在 android 8,9 中运行良好,但在 Android 10 中仍然失败。我什至也使用了 PowerManager.LOCATION_MODE_THROTTLE_REQUESTS_WHEN_SCREEN_OFF 唤醒锁,但 HTTP 调用和 GPS 数据仍然被阻止。我实现了一个记录器来保存存储在文件中的每个操作。我看到服务正在被调用,但 GPS 数据没有被触发。还有一件事是我使用 Handler 甚至 Timer Task 实现了一个 Timer 来处理 Location timeout 以便我可以在超时发生时发送其他数据,这有时有效,有时失败。
我怎样才能解决这个问题?有什么解决办法吗?
注意:我使用警报管理器的原因是因为它们实际上是在设备打盹时触发的。据我了解,工作经理适用于可以推迟的工作。关闭应用时,BTW Work Manager 无法在中文 Roms 中工作。
【问题讨论】:
你有什么解决办法吗?自过去 10 天以来,我也一直坚持下去。 【参考方案1】:我也遇到了同样的问题,通过禁用移动设备中的省电选项解决了这个问题。
【讨论】:
以上是关于屏幕关闭时,Android 10 会阻止网络请求和 GPS 呼叫的主要内容,如果未能解决你的问题,请参考以下文章