为什么模拟位置会跳回真实位置

Don*_*Box 5 android android-location

我添加了一个测试提供者,使用LocationManager.GPS_PROVIDER提供者名称,如此处所述

https://mobiarch.wordpress.com/2012/07/17/testing-with-mock-location-data-in-android/

在 Google 地图应用程序中,我看到位置在模拟位置和真实位置之间跳转,然后又返回模拟位置。

为什么会跳转到真实位置?我该如何阻止它?

也许我误解了如何使用模拟位置。我还没有找到任何可用的官方文档。

ste*_*neo 4

您很可能已将位置设置配置为您的手机(和应用程序)可以使用 GPS 传感器的位置以及手机和 Wi-Fi 的位置。自从 Fused Location Provider 出现以来,系统获取位置的方式变得有点模糊。

当您模拟位置时,您只能模拟 GPS 传感器读数(当您通过模拟器设置模拟位置时也是如此)。因此,当系统向谷歌地图提供来自 GPS 传感器的位置时,它会给出假位置,而当它提供来自其他传感器的位置时,它将是真实的位置。

为了测试我的正确性,您可以将位置设置切换为“仅设备”,并且您应该只获得虚假位置。

不幸的是,没有办法模拟其他传感器的读数。

  • 为了模拟您自己的位置,您需要成为系统范围内认可的模拟应用程序。这使得 .setMockMode 的存在非常令人困惑。 (2认同)