模拟坐标 Android Marshmallow
Mock coordinates Android Marshmallow
在我的应用程序中,我正在使用 Android 位置管理器 API 并且我需要确定位置坐标是来自普通位置管理器还是来自假(模拟)位置提供者.我用了location.isFromMockProvider()
。一旦我打开提供虚假位置的应用程序,isFromMockProvider() 方法 returns 我是真的。之后,无论我打开还是关闭提供虚假位置的应用程序,isFromMockProvider() 方法总是 returns true.
都没关系
我发现一旦 FakeGPS 应用被触发,就会覆盖位置管理器坐标,一旦我停止 FakeGPS 应用,位置管理器就不会开始收集正确的坐标。
有没有我遗漏的东西。
对没有回应感到失望,但我很高兴我让它工作了:)
发布解决方案,因为它可能会对其他人有所帮助。
一旦 FakeGPS 应用程序开始模拟位置,它就会停止我的应用程序的位置管理器。
现在即使我停止 FakeGPS 应用程序模拟服务,我的应用程序的位置管理器也不会触发。
在删除任何测试提供程序并清除测试位置后,我必须检测事件并重新启动我的应用程序的位置管理器。
只需重置和删除测试位置应该会有帮助
String t = LocationManager.GPS_PROVIDER;
locationManager.clearTestProviderEnabled(t);
locationManager.clearTestProviderLocation(t);
locationManager.clearTestProviderStatus(t);
locationManager.removeTestProvider(t);
在我的应用程序中,我正在使用 Android 位置管理器 API 并且我需要确定位置坐标是来自普通位置管理器还是来自假(模拟)位置提供者.我用了location.isFromMockProvider()
。一旦我打开提供虚假位置的应用程序,isFromMockProvider() 方法 returns 我是真的。之后,无论我打开还是关闭提供虚假位置的应用程序,isFromMockProvider() 方法总是 returns true.
我发现一旦 FakeGPS 应用被触发,就会覆盖位置管理器坐标,一旦我停止 FakeGPS 应用,位置管理器就不会开始收集正确的坐标。
有没有我遗漏的东西。
对没有回应感到失望,但我很高兴我让它工作了:) 发布解决方案,因为它可能会对其他人有所帮助。
一旦 FakeGPS 应用程序开始模拟位置,它就会停止我的应用程序的位置管理器。 现在即使我停止 FakeGPS 应用程序模拟服务,我的应用程序的位置管理器也不会触发。 在删除任何测试提供程序并清除测试位置后,我必须检测事件并重新启动我的应用程序的位置管理器。
只需重置和删除测试位置应该会有帮助
String t = LocationManager.GPS_PROVIDER;
locationManager.clearTestProviderEnabled(t);
locationManager.clearTestProviderLocation(t);
locationManager.clearTestProviderStatus(t);
locationManager.removeTestProvider(t);