我使用
locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
Criteria criteria = new Criteria();
String bestProvider = locationManager.getBestProvider(criteria, true);
locationManager.requestLocationUpdates(bestProvider, 0, 0, this);
location = locationManager.getLastKnownLocation(bestProvider);
但是第一次它没有给出位置对象。总是给我null。我在developer.android.com上读到,
“缓存位置如果是,则被解雇 太老了“
但是它第二次提供位置更新。如何解决我的问题。
此致 Android开发人员
答案 0 :(得分:2)
选项很少......如果getLastKnownLocation()
为空,因为它已经过时,你只能等待获得更新的定位。
但是,如果您不需要非常准确的位置,则可以使用更快的networkProvider。
答案 1 :(得分:0)
mLocManager =(LocationManager)getSystemService(Context.LOCATION_SERVICE); mLocManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,0,0,this); mLocManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER,0,0,this); CellLocation.requestLocationUpdate();
将这些所有声明称为一起.. 并且没有办法简单地寻找设备LAT和LONG静态.. 你必须等待更新.....使用任何进度条或做任何其他等待的东西......
在onLocationChanged方法中..接收位置对象并保存对任何类的引用...