微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

一段时间后,Android 位置停止更新位置

如何解决一段时间后,Android 位置停止更新位置

我有一个应用程序,它的主要功能是跟踪用户的锻炼情况。 GPS 定位在过去几年中一直运行良好,直到本月出现了奇怪的问题。

有些人(不是全部)使用不同的设备和 android 版本会遇到 gps 位置的奇怪行为。突然,在至少几分钟(有时是几个小时)后,onLocationChanged 停止被触发。有时它工作正常,然后第二天用户再次遇到此问题。

用户必须开始新的锻炼才能使其恢复工作。此外,在应用程序日志中,我发现

onConnectionSuspended

以原因 = 1 (CAUSE_SERVICE_disCONNECTED) 调用

根据文档,丢失的连接应该会自动重新连接,但不会因此导致所描述的问题。

为了解决这个问题,我创建了一个内部计时器(可运行),用于检查该位置的最后一次更新时间。如果超过 2 分钟,它会像这样重新连接所有内容

mGoogleapiclient.disconnect();
mGoogleapiclient.connect();
startLocationUpdates(); //calls requestLocationUpdates

它似乎有效,至少在我们的测试用户设备上是这样。对我来说似乎是一个小技巧,所以让我问你:你是否遇到过类似的问题,你有更好的方法解决它吗?

顺便说一下,我正在使用:

com.google.android.gms:play-services-location:18.0.0

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。