我正在编写一个侦听位置更改的简单服务。 在我的onStart方法中,我有以下
lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
locationListener = new MyLocationListener();
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener);
然后,onLocationChanged(Location loc)方法处理服务如何对更改作出反应。
但是我希望在服务启动时获取初始位置。假设位置信息没有任何变化,我想在服务启动时至少使用一次位置信息,即使位置没有改变。怎么做?
答案 0 :(得分:1)
在这里使用getLastKnownLocation
。
以下代码段将为您提供帮助。
LocationManager lm = (LocationManager)act.getSystemService(Context.LOCATION_SERVICE);
Criteria crit = new Criteria();
crit.setAccuracy(Criteria.ACCURACY_FINE);
String provider = lm.getBestProvider(crit, true);
Location loc = lm.getLastKnownLocation(provider);