【问题标题】:Prevent mocked GPS position from reverting to real values防止模拟 GPS 位置恢复为真实值
【发布时间】:2016-01-16 15:13:22
【问题描述】:

我正在为自己开发一个模拟位置应用程序,并且到目前为止取得了很好的成功。 我可以设置所需的位置,它会显示在谷歌地图中。

我的问题是,有时位置会切换到我的 nexus 7 LTE (2013) 与 Android 6.0.1 的 gps 模块提供的真实位置。

我将位置服务设置为仅设备,并使用提供程序 LocationManager.GPS_PROVIDER

这是我用来设置所需位置的:

newLocation.setLatitude(lat);
newLocation.setLongitude(lon);
newLocation.setTime(System.currentTimeMillis());
newLocation.setElapsedRealtimeNanos(SystemClock.elapsedRealtimeNanos());
newLocation.setSpeed((float) (speed / 3.6));
accuracy = (float) generateRandomDouble(ACCURACY_MIN, ACCURACY_MAX);
newLocation.setAccuracy(accuracy);
newLocation.setAltitude(altitude);

我是怎么解决这个问题的:

  1. 每 200 毫秒设置一个新位置
  2. 将时间戳设置到未来
  3. 始终将精度设置为 1

类似于Mock GPS location issue 之类的位置模拟问题也无济于事。

我注意到的是,如果 gps 无法获得良好的信号,这些跳跃发生的频率会降低。

有人对如何避免这些“跳跃”有建议吗?

【问题讨论】:

  • 我认为你应该更新标题。它似乎没有正确反映您的问题。
  • 我尝试更改它。随时恢复。
  • 谢谢这好多了
  • 解决方案怎么样。我面临同样的问题。你有什么解决办法吗?
  • 不,没有解决方案,但我不再需要这个了。

标签: android gps location


【解决方案1】:

我找到了一种用铝箔阻挡内部 GPS 的方法。
这不是我希望的解决方案,但这工作正常,不再跳跃。

【讨论】:

    猜你喜欢
    • 2023-04-06
    • 2013-11-12
    • 2019-11-03
    • 1970-01-01
    • 2013-06-30
    • 1970-01-01
    • 1970-01-01
    • 2011-09-11
    • 1970-01-01
    相关资源
    最近更新 更多