我的代码是: -
LocationManager lm = (LocationManager)
getSystemService(Context.LOCATION_SERVICE);
// connect to the GPS location service
Location loc = lm.getLastKnownLocation(lm.NETWORK_PROVIDER);
Toast.makeText(currentLocation.this, "Latitude -> "+Double.toString(loc.getLatitude())
+" Longitude is -> "+Double.toString(loc.getLongitude()), Toast.LENGTH_LONG).show();
并且工作正常。 但我很害怕getLastKnownLocation在第一次使用时可能会返回null。
由于
答案 0 :(得分:3)
注册位置更新,一旦收到第一次更新,您可以取消注册以备将来更新。
换句话说,创建一个LocationListener
并使用LocationManager
的{{1}}方法进行注册。在requestLocationUpdates
的{{1}}方法中,使用onLocationChanged
作为参数调用LocationListener
上的removeUpdates
方法。
获得新位置可能需要一些时间,但除了使用LocationManager
之外,其他方法并不存在。