我正在构建一个使用用户位置的应用。 有时,当用户关闭GPS或不允许应用程序使用用户位置时,在这种情况下,应用程序因位置变量中的NULL值而崩溃。
我想为Location设置一个默认值(Lat:0& Lon:0)
我试过这个
Location _location = new Location(_locationManager.GPS_PROVIDER);
但_locationManager本身为null。
如何设置Location的初始值?
由于
答案 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) {
}
}