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

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

我使用

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

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

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

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

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

android android-location
4个回答
4
投票

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

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

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

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


0
投票

位置设置中关闭Wi-Fi扫描/蓝牙扫描以停止跳跃以保留模拟位置。


0
投票

我创建了一个位置模拟应用程序,如果您有,通常会发生这种情况 “Google location Accuracy”选项 -> ON ,然后您开始注入模拟位置,如果发送的模拟位置之间存在小间隙,那么通常您会出现此跳转。

为了避免这种情况,我会从设置中关闭“Google 位置准确性”。然后开始注入模拟位置。


0
投票

但是我正在尝试使用模拟位置的应用程序要求我打开谷歌准确性设置。有没有办法模拟位置准确性或将其全部删除。在 Android 9 之前,也有一个仅设备模式。那行得通吗?

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