首页 > 解决方案 > 为什么模拟位置会跳回真实位置

问题描述

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

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

在谷歌地图应用程序中,我看到位置在模拟位置和真实位置之间跳跃,然后回到模拟位置。

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

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

标签: androidandroid-location

解决方案


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

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

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

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


推荐阅读