清除Android中的模拟位置数据

时间:2016-03-30 04:27:23

标签: android google-maps gps location locationmanager

我在我的应用程序中设置了模拟位置但是当我尝试清除它并使用setMyLocationButtonEnabled(true)按钮获取我的真实位置时,我得到一个奇怪的错误,如:

E/AndroidRuntime: FATAL EXCEPTION: main
Process: test.test.location, PID: 9617
java.lang.IllegalArgumentException: Negative latSpan: -1.3741614700601624E-5
at maps.ce.i.a(Unknown Source)
at maps.ei.bs.a(Unknown Source)
at maps.ei.v.a(Unknown Source)
at maps.ei.v.onClick(Unknown Source)
at android.view.View.performClick(View.java:4438)
at android.view.View$PerformClick.run(View.java:18422)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)

当我在尝试设置模拟位置之前先获取真实位置时,它可以正常工作。但是当我设置一个模拟位置然后清除它并获得我的真实位置它会产生这个错误。所以必然会有一些模拟位置数据干扰。

我清除模拟位置数据的代码是:

locationManager.setTestProviderEnabled(providerName,false);
locationManager.clearTestProviderEnabled(providerName);
locationManager.clearTestProviderLocation(providerName);
locationManager.clearTestProviderStatus(providerName);
locationManager.removeTestProvider(providerName); 

我找不到任何关于如何正确清除模拟位置数据的文档,所以我在这里搜索答案。

0 个答案:

没有答案