防止模拟GPS位置恢复到实际值

时间:2016-01-16 15:13:22

标签: android gps location

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

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

我将位置服务设置为仅设备,我使用提供程序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
  4. Mock GPS location issue这样的位置模拟类似的问题也没有帮助。

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

    有没有人建议如何避免跳跃'?

1 个答案:

答案 0 :(得分:0)

我找到了一种用铝箔阻挡内部GPS的方法 这不是我希望的解决方案,但这样可以正常运行。