目前,我正在开发一个将位置注入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?
答案 0 :(得分:2)
我发现这是由于两个原因。
首先,不需要setTestProviderEnabled(PROVIDER_NAME, false)
来电。其次,在查看Android源代码时,它显示正常的GPS不会自动激活。通过在removeTestProvider()
呼叫后请求位置更新,正常的GPS信号将被激活,一切正常。