我只有一個設備(HTC HD Deside)測試我的應用程序,當我想requestLocationUpdate時間過長
locationManager.requestLocationUpdate(criteria,0,0,this); //critera = "gps"
我的GPS圖標,以獲取GPS數據顯示在通知欄,但它「閃爍」就好像它意味着我的設備正在查找並獲取GPS數據。因此,我的應用程序在成功從GPS獲取數據(大約1mn到3mn!)(在圖標停止閃爍之前)需要太多的「思考」時間
因此,我有義務創建一個類似於這:
do{
lastLocation = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);
}while(System.currentTimeMillis() - lastLocation.getTime() > 5000);
謝謝,我一定會得到一個最近的位置,但我失去了太多的時間。
有什麼問題?它是硬件嗎? 我能否找到解決此問題的更好方法? 我可以「快速」獲取GPS數據嗎? :/(1〜5秒)
您是否需要更精細的GPS粒度,或者您可以通過其他提供商獲得? – 2013-03-10 22:07:01
我需要使用GPS,因爲我的應用程序將在沒有WiFi /互聯網的位置使用^^ 因此,我必須使用GPS(獲取數據經度/緯度/高度的唯一方法嗎?) – user2137454 2013-03-10 22:13:34
您不需要等待或輪詢)最後一個已知位置。一旦修復程序可用,位置偵聽器將立即被調用。如果從先前的GPS請求獲得修復,則最後知道的位置可能是有用的。如果沒有可用的空返回(順便說一下,這會導致你的循環崩潰)。 – Stefan 2013-03-11 09:29:06