2
在我的應用程序中,我需要獲取用戶的位置。由於我的應用程序會不斷地執行此操作,因此我想在特定條件下(GPS和NETWORK提供程序之間)更改位置提供程序。我的應用程序將檢測到這些情況並對其進行更改。Android:動態更改位置提供程序
但是,我不確定如何動態改變它。
到目前爲止,我有一個線程(除其他外,將檢查這些條件),我希望它也更改位置提供程序。我的代碼直到現在如下所示:
public void run() {
LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
LocationListener locationController = new LocationController();
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, time, desltaDistance, locationController);
while (serviceIsRunning) {
...
if (conditionsAreMet) {
locationManager.removeUpdates(locationController);
if (provider == LocationManager.GPS_PROVIDER)
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, time, desltaDistance, locationController);
else
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, time, deltaDistance, locationController);
}
...
}
}
* LocationController類實現LocationListener。
但是,它似乎不是更好的方式來做到這一點。所以,我想知道的是:有更好的方法來自動更改位置提供程序?
嗨,請您簡單回答一下您的答案,我會與一個非常類似的任務鬥爭。 – Solx85
@ Solx85,兩年前我在我的舊工作嘿嘿。我完全不記得代碼,但是如果我仍然可以找到某些東西,我會檢查我的文檔。 :) – Rick