我知道这已被问了很多,所以我道歉。我有以下代码,无法获取位置,始终为null响应。我试图在这个实例中避免使用LocationListener,因为我已经在使用更新服务,并且该位置实际上不一定非常好,因此最后一个已知位置足够好。谢谢你的帮助。
LocationManager lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
String providers[] = {"gps", "network", "passive"};
Location loc = null;
for(String x : providers) {
loc = lm.getLastKnownLocation(x);
if(loc != null) break;
}
if(loc != null) {
// do something, never reached
}
答案 0 :(得分:1)
我有以下代码,无法获取位置,始终为空响应。
当然。
我正在尝试避免此实例中的LocationListener,因为我已经在使用更新服务
我不知道这意味着什么,但我怀疑你是否需要一个LocationListener
。
Android不会经常检查您的位置。特别是GPS,这对电池来说太可怕了。 Android仅在有人使用requestLocationUpdates()
或addProximityAlert()
时检查您的位置。
答案 1 :(得分:1)
我不确定但也许这是因为您使用模拟器? 我记得我已经尝试检查最后一个已知的位置并且有类似你的错误。 所以我总是在使用之前检查getLastKnownLocation(provider)!= null。