我正在尝试使用它来获取我的位置:
LocationManager myLocationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_FINE);
criteria.setAltitudeRequired(false);
criteria.setBearingRequired(false);
criteria.setCostAllowed(true);
criteria.setPowerRequirement(Criteria.POWER_LOW);
String provider = myLocationManager.getBestProvider(criteria,true);
if (provider != null) {
//there is a provider
myLocationManager.requestLocationUpdates(provider, 10L, 500.0f, (LocationListener) mainContext);
Location myCurLocation = myLocationManager.getLastKnownLocation(provider);
//here i'm trying to get some data from the
//myCurLocation but
//myCurLocation == NULL
}
但myCurLocation总是== NULL
我究竟做错了什么?
解决方法:
对getLastKnownLocation()的调用不会阻塞 – 这意味着如果当前没有位置,它将返回null – 所以你可能想看看将LocationListener传递给requestLocationUpdates() method,这将为你提供异步的位置更新.
标签:android,location
来源: https://codeday.me/bug/20190726/1546351.html