2010-11-12 34 views
0

我的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定位提供商延迟可用性的原因?

回答

2

你似乎缺少一些GPS理论。首次启动GPS设备(“冷启动”)时,必须先扫描卫星并锁定卫星,然后才能确定设备的位置。

虽然AGPS或ephemeryds更新,第一仅当网络支持,减少修复时间通常为10秒至2分钟,得到了修复,取决于天气条件,建筑物等

这是硬件限制。尝试将您的修补时间与晴朗天空的开放国家的Android汽车导航软件进行比较,我相信您不会发现太多差异。但我仍然相信在这些情况下它会减少。

作为GPS定位时间,一分钟通常是可以接受的。

相关问题