2014-04-18 31 views
0

我已成功地獲得Android設備的位置固定(都與網絡運營商和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

使用2地點聽衆

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) {} 
    } 

}