如何停止测试位置提供程序

时间:2012-08-09 11:29:38

标签: android gps mocking location

目前,我正在开发一个将位置注入Android的应用程序。此应用程序应在特定时刻注入位置。之前和之后,应该使用普通的GPS。

我的软件可以切换到模拟位置并成功注入位置。但我无法再让Android听普通的GPS。

我的设置代码:

mLocationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
mLocationManager.addTestProvider(LocationManager.GPS_PROVIDER, false, false, false, false, true, true, true, 0, /*magic*/5);
mLocationManager.setTestProviderEnabled(LocationManager.GPS_PROVIDER, true);

我没有尝试停止:

mLocationManager.setTestProviderEnabled(PROVIDER_NAME, false);
mLocationManager.removeTestProvider(PROVIDER_NAME);

我的问题:如何停止提供模拟位置并恢复默认的Android GPS?

1 个答案:

答案 0 :(得分:2)

我发现这是由于两个原因。

首先,不需要setTestProviderEnabled(PROVIDER_NAME, false)来电。其次,在查看Android源代码时,它显示正常的GPS不会自动激活。通过在removeTestProvider()呼叫后请求位置更新,正常的GPS信号将被激活,一切正常。