GPS位置提供商可用性问题
问题描述:
我的gps位置提供商需要至少一分钟才能使用。我拿最好的提供者,它是“gps”。那会是什么原因?任何人有任何想法?我的代码如下..GPS位置提供商可用性问题
locationListener = new LocationListen();
Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_FINE);
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
String provider = locationManager.getBestProvider(criteria, true);
if(provider == null){
provider = LocationManager.GPS_PROVIDER;
}
if(!locationManager.isProviderEnabled(provider)){
locationManager.setTestProviderEnabled(provider, true);
}
boolean enabled = locationManager.isProviderEnabled(provider);
if(enabled){
System.out.println("provider enabled");
// setAlert("provider enabled", "", false);
}else{
System.out.println("provider disabled");
// setAlert("provider disabled", "", false);
}
locationManager.removeUpdates(locationListener);
locationManager.requestLocationUpdates(provider, (long)1000, (float)0, locationListener);
onStatusChanged()方法被调用后,才ATLEAST一分钟,改变后的状态是这样的onLoctionChanged()方法后的提供商可用(可用)被调用。什么是gps定位提供商延迟可用性的原因?
答
你似乎缺少一些GPS理论。首次启动GPS设备(“冷启动”)时,必须先扫描卫星并锁定卫星,然后才能确定设备的位置。
虽然AGPS或ephemeryds更新,第一仅当网络支持,减少修复时间通常为10秒至2分钟,得到了修复,取决于天气条件,建筑物等
这是硬件限制。尝试将您的修补时间与晴朗天空的开放国家的Android汽车导航软件进行比较,我相信您不会发现太多差异。但我仍然相信在这些情况下它会减少。
作为GPS定位时间,一分钟通常是可以接受的。