应用程序在后台时没有GPS onLocationChanged回调吗? [已解决]

问题描述 投票:0回答:1

我有一个正在运行的应用程序,该应用程序使用LocationManager的onLocationChanged()回调处理和记录GPS位置。 直到我将应用程序放到后台]都可以正常工作,例如通过使用“最近的任务”按钮或“主页”按钮转到另一个应用程序。当我再次将其放在最前面时,更新会恢复。有趣的是。当显示在前面时,我确实看到状态从GPS“暂时不可用”更改为“ GPS可用”。我在后台检查了“ isProviderEnabled()”,但它始终返回true

我在LocationManager文档中没有提到此工件:也许这是未记录但有预期的行为(???)

UPDATE 01-26-2020尝试将GPS侦听器作为服务实现。不开心然后尝试在Service(在服务启动时包括GPS侦听器)内部生成ASyncTask。仍然没有喜悦。在这两种情况下,相同的行为:启动Sevice的应用程序进入后台时,不会调用onLocationChanged。

已解决01-29-20找到了解决方案:我需要使用Foreground

服务。这在https://androidwave.com/foreground-service-android.example中有描述进行此更改后,即使主要活动停止(完成),也会收到GPS修正。

我有一个正在运行的应用程序,该应用程序使用LocationManager的onLocationChanged()回调处理和记录GPS位置。直到我将应用程序置于后台,例如通过转到另一个应用程序...

gps locationmanager android-gps on-location-changed
1个回答
0
投票

请参阅我的问题的更新以寻求解决方案。

© www.soinside.com 2019 - 2024. All rights reserved.