【问题标题】:Android LocationManager delivers same Location multiple times (Nexus 5)Android LocationManager 多次提供相同的位置 (Nexus 5)
【发布时间】:2014-05-28 12:27:41
【问题描述】:

当我在手机上使用 LocationManager 时,对于几乎所有 Nexus 5 测试设备,LocationManager 每分钟会检测几次相同的位置(我每 60 秒侦听一次位置)。要清楚我实际使用的代码:

    mLocationManager.requestLocationUpdates(60*1000,
            0,
            criteria),
            mLocationUpdateListener, Looper.getMainLooper());

标准是从服务器设置的,仅定义所需的精度(Criteria.ACCURACY_COARSECriteria.ACCURACY_FINE)。

所以对于我的其他测试设备(Nexus 4 和三星 S3),位置管理器没有问题。它总是每 60 秒提供一个新位置。但是 Nexus 5 设备似乎在某个时间点缓存了该位置,因此我向服务器发送了 5 次完全相同的位置,即使我已经离该位置只有 100 米。

有人知道可能是什么问题吗?如果您有兴趣,我还可以附加 mLLocationUpdateListener 的代码,但它只是将位置发送到服务器。

编辑:位置总是在后台服务中获得。我可以通过在前台打开谷歌地图来解决这个问题。但这当然不能解决我的问题。

编辑解决方案:Play 服务似乎无法在所有 6 台 Nexus 5 测试设备上运行。重新启动所有设备后,我无法再重现这种奇怪的行为......

编辑 2:我又一次偶然发现了这种行为,即使我重新启动手机,它仍然会出现......

【问题讨论】:

    标签: android locationmanager nexus-5


    【解决方案1】:

    试试这个

    mLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, mLocationUpdateListener);

    【讨论】:

    • 嘿 Ramki,感谢您的回复。我知道我可以直接使用 GPS_PROVIDER 或 NETWORK_PROVIDER,但我选择了这种方法,因为我想使用 Google 的融合提供程序。哪个提供商提供位置几乎不重要,但室内 GPS 无法获得定位,室外网络有时无法正常工作。这就是我决定选择融合提供商的原因。
    • 在 Nexus 5 中启用位置服务。否则,您只能获得最后一个已知位置。
    • 您的意思是在设置中?这是在高精度上启用的(与我的 Nexus 4 相同,它没有这个特定错误)
    • 是的,尝试重新启动您的设备并再次检查
    • 我不太确定是否可以通过重新启动我的 6 部 Nexus 5 手机来修复该错误,这些手机都有完全相同的错误...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-01-28
    • 2011-12-12
    • 1970-01-01
    • 2014-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多