2011-05-12 56 views
0

LocationManager是否有能力改變,例如,從GPS到更多課程提供商,如果設備失去其GPS信號?LocationManager更改提供商動態

據我知道這不是,但我不是100%肯定,所以我要問

(我之所以問,我很想讓我自己LocationManagerManager處理這些種類我可能會接受多個Criteria對象,這些對象在傳統的LocationManager不夠靈活的各種環境下按某種順序嘗試,但我不想重新發明輪子,例如,如果Google已經處理了這在一些方法/類對我來說是未知的)。

謝謝

回答

0

是的,它已經可用。只要谷歌它,你必須得到它。選中此功能了:

`

public boolean testProviders() { 
    Log.e(LOG_TAG, "testProviders"); 
    String location_context = Context.LOCATION_SERVICE; 
    locationmanager = (LocationManager) getSystemService(location_context); 
    List<String> providers = locationmanager.getProviders(true); 
    for (String provider : providers) {  
     Log.e(LOG_TAG, "registering provider " + provider); 
     listener = new LocationListener() { 
      public void onLocationChanged(Location location) { 
       // keep checking the location - until we have 
       // what we need 
       //if (!checkLoc(location)) { 
       Log.e(LOG_TAG, "onLocationChanged"); 
       locationDetermined = checkLoc(location); 
       //} 
      } 
      public void onProviderDisabled(String provider) { 
      } 
      public void onProviderEnabled(String provider) { 
      } 
      public void onStatusChanged(String provider, int status, 
        Bundle extras) { 
      } 
     }; 
     locationmanager.requestLocationUpdates(provider, 0, 
       0, listener); 
    } 
    Log.e(LOG_TAG, "getting updates"); 
    return true; 
} 

`

1

不是我意識到:你的選擇可能是最好的主意。註冊所有可用的提供商,然後返回最佳可用位置值。