2017-01-22 17 views
0

Я создаю приложение, использующее местоположение пользователя. Иногда, когда пользователь отключает GPS или не разрешает приложению использовать местоположение пользователя, в этом случае приложение вылетает из-за значения NULL в переменной Location.Установить начальное значение для местоположения в Android

Я хочу, чтобы установить значение по умолчанию для Местоположение (который Lat: 0 & Lon: 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) { 
    } 
}