在Android中设置Location的初始值

时间:2017-01-22 07:03:41

标签: android gps location

我正在构建一个使用用户位置的应用。 有时,当用户关闭GPS或不允许应用程序使用用户位置时,在这种情况下,应用程序因位置变量中的NULL值而崩溃。

我想为Location设置一个默认值(Lat:0& Lon:0)

我试过这个

Location _location = new Location(_locationManager.GPS_PROVIDER);

但_locationManager本身为null。

如何设置Location的初始值?

由于

1 个答案:

答案 0 :(得分: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);
<{1>}在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) {
    }
}