【发布时间】:2014-02-19 16:03:41
【问题描述】:
我正在创建一个仅在用户单击按钮时检查位置的应用。
这是我的代码,当我调用 getLastKnownLocation 时它返回 null,即使在我调用 requestLocationUpdates 之后也是如此:
public void main(String[] args, int iteration, Context context){
Criteria criteria = new Criteria();
LocationManager locationManager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
LocationListener loc_listener = new LocationListener() {
public void onLocationChanged(Location l) {
}
public void onProviderEnabled(String p) {}
public void onProviderDisabled(String p) {}
public void onStatusChanged(String p, int status, Bundle extras) {}
};
String bestProvider = locationManager.getBestProvider(criteria, false);
locationManager.requestLocationUpdates(bestProvider, 0, 0, loc_listener);
Location location = locationManager.getLastKnownLocation(bestProvider);
location = locationManager.getLastKnownLocation(bestProvider);
double lat;
double lon;
try {
lat = location.getLatitude();
lon = location.getLongitude();
} catch (NullPointerException e) {
lat = -1.0;
lon = -1.0;
}
Log.i("results:", String.valueOf(lat) + " " + String.valueOf(lon) + " 10NN");}}
设备上的定位服务已启用。 非常感谢!
【问题讨论】:
-
LastKnownLocation 返回最后一个已知修复。所以它有可能是空的。试试看这里stackoverflow.com/questions/7423624/…
-
我尝试请求LocationUpdates,但它实际上并没有为我更新最后一个已知位置。
-
找到解决办法了吗
标签: java android geolocation google-play-services