2016-06-09 69 views
0

在我的应用程序中,我使用了Android位置管理器API,并且我有要求确定位置坐标是否来自正常的位置管理器,或者它们是否来自假(模拟)位置提供程序。我用location.isFromMockProvider()。一旦我打开提供虚假位置的应用程序,isFromMockProvider()方法就会返回true。之后,如果我打开提供应用程序的假位置,则无关紧要。isFromMockProvider()方法始终返回true。模拟坐标Android Marshmallow

我发现一旦FakeGPS应用程序触发,将覆盖位置管理器坐标,并且一旦停止FakeGPS应用程序,位置管理器就不会开始收集正确的坐标。

有什么我失踪了。

回答

0

失望,没有回应,但我很高兴我得到它的工作:) 发布的决议,因为它可能会帮助别人。

一旦FakeGPS应用程序开始模拟位置,它会停止我的应用程序的位置管理器。 现在,即使我停止FakeGPS应用程序嘲笑服务,我的应用程序的位置管理器也不会触发。 移除任何测试提供者并清除测试位置后,我必须检测事件并重新启动我的应用程序的位置管理器。

0

只是重置和删除测试地点应该帮助

String t = LocationManager.GPS_PROVIDER; 
locationManager.clearTestProviderEnabled(t); 
locationManager.clearTestProviderLocation(t); 
locationManager.clearTestProviderStatus(t); 
locationManager.removeTestProvider(t);