2017-01-22 88 views
0

我正在構建一個使用用戶位置的應用程序。 有時,當用戶關閉GPS或未授權應用程序使用用戶位置時,在這種情況下,應用程序會因爲Location變量中的NULL值而崩潰。在Android中設置位置的初始值

我要爲位置的默認值(這是緯度:0 &經度:0)

我想這

Location _location = new Location(_locationManager.GPS_PROVIDER); 

但_locationManager爲空本身。

我該如何設置位置的初始值?

感謝

回答

1

試試這個:

Location defaultLocation = new Location("");//provider name is unecessary 
defaultLocation .setLatitude(0.0d);//your lat long 
defaultLocation .setLongitude(0.0d); 

動態位置獲取使用:

locationManager = (LocationManager) context 
      .getSystemService(Context.LOCATION_SERVICE); 


    Criteria locationCritera = new Criteria(); 
    String providerName = locationManager.getBestProvider(locationCritera, 
      true); 
    if(providerName!=null) 
     location = locationManager.getLastKnownLocation(providerName); 

    locationListener = new MyLocationListener(); 

    locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 
      0, locationListener); 

MyLocationlistener設置你的location對象

private class MyLocationListener implements LocationListener { 

    public void onLocationChanged(Location loc) { 

     if (loc != null) { 
      location = loc; 

     } 
    } 

    public void onProviderDisabled(String provider) { 

    } 

    public void onProviderEnabled(String provider) { 
    } 

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