如何快速从GPS首次获得当前位置?

时间:2011-01-04 06:52:18

标签: android

我使用

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开发人员

2 个答案:

答案 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方法中..接收位置对象并保存对任何类的引用...