2010-11-12 33 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定位時間,一分鐘通常是可以接受的。

相關問題