2014-04-18 1 views
0

나는 안드로이드 장치의 위치에 수정을 얻는 것을 처리했다 (모두 네트워크 제공자 및 GPS 공급자)를 사용하여 : locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, locationListener); locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener);안드로이드 : requestLocationUpdates

하지만 난 한 번을 사용하여 동일한 순간에 전화 위치를 계산 싶습니다 NETWORK_PROVIDER 그리고 GPS_PROVIDER를 사용하여 각 정확도를 서로 비교할 수 있습니다.

누구나 NETWORK_PROVIDER을 (를) 사용하고 GPS_PROVIDER (을)를 사용하여 기기를 한 번 정확하게 식별하는 방법을 알고 있습니까?

답변

0

사용이 위치 리스너

public class MainActivity extends Activity { 
    private Location networkLocation = null; 
    private Location gpsLocation = null; 

    private class NetworkLocationListener implements LocationListener { 
     @Override 
     public void onLocationChanged(Location location) { 
      // if you only want one location 
      // if (networkLocation == null) 
      networkLocation = location; 
      if (gpsLocation != null) { 
       // do something 
      } 
     } 

     @Override 
     public void onStatusChanged(String provider, int status, Bundle extras) {} 

     @Override 
     public void onProviderEnabled(String provider) {} 

     @Override 
     public void onProviderDisabled(String provider) {} 
    } 

    private class GpsLocationListener implements LocationListener { 
     @Override 
     public void onLocationChanged(Location location) { 
      // if you only want one location 
      // if (gpsLocation == null) 
      gpsLocation = location; 
      if (networkLocation != null) { 
       // do something 
      } 
     } 

     @Override 
     public void onStatusChanged(String provider, int status, Bundle extras) {} 

     @Override 
     public void onProviderEnabled(String provider) {} 

     @Override 
     public void onProviderDisabled(String provider) {} 
    } 

} 
관련 문제