2012-08-09 14 views
3

目前,我正在開發一個將位置注入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?

回答

2

我發現這是由於兩個原因。

首先,不需要setTestProviderEnabled(PROVIDER_NAME, false)調用。其次,在查看Android源代碼時,它顯示普通GPS不會自動激活。通過在撥打removeTestProvider()之後請求位置更新,正常的GPS信號將被激活並且一切正常。

+0

那麼解決方案什麼都不做?只是不發送新的測試位置? – user1940676 2014-01-06 14:14:43

+0

不,它在註冊新的位置偵聽器後再次運行。然後,真實的GPS將再次用於位置更新。 – Jordi 2014-01-08 23:53:00

相關問題