2011-05-12 2 views
0

LocationManager는 GPS에서 신호를 잃는 경우 GPS에서 코스 공급자로 변경하는 기능이 있습니까?LocationManager 변경 즉시 공급자 변경

지금까지 내가 그렇지 않은,하지만 난 100 % 확실하지 않다, 그래서

(I 물어 그 이유를 물어 내가 이런 종류의를 처리하는 내 자신의 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

아니요. 귀하의 옵션이 아마도 가장 좋은 아이디어 일 수 있습니다. 사용 가능한 모든 공급자를 등록한 다음 가장 유용한 위치 값을 반환하십시오.

관련 문제