如果沒有GPS FIX(因爲人在金屬建築物或其他東西)....它只是留在Looper .. ??或者它不斷嘗試通過requestLocationUpdates修復.. ??如果沒有GPS修復,下列代碼會做什麼?
如果我確實有一個很好的GPS FIX ....我的代碼工作正常......並在onLocationChanged()...我更新當前位置到數據庫。
另外... when is onLocationChanged()called .. ??是否只有在有GPS FIX時纔會調用? 只是想知道..
public void run()
{
Looper.prepare();
LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
LocationListener ll = new mylocationlistener();
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, ll);
Looper.loop();
}
斯特恩和信息。好答案! – AndrewKS 2010-10-22 20:01:12
這不是生產代碼。但是,我的代碼有什麼問題?我正在運行這項服務。這是抱怨我沒有Looper的地方......所以這就是我所做的。我的代碼似乎工作正常。我只是想知道當沒有GPS定位時我的代碼發生了什麼。 – Biggs 2010-10-22 20:09:14
首先,它看起來像這個代碼是在某種線程。我猜這是因爲它採用「運行」方法。 'Requestlocationupdates'是異步的,所以它不需要在一個線程中。這可能是你關於looper的錯誤。你的代碼可能會工作,但你可以得到很多很差的代碼來工作。讓你的代碼編譯和運行不應該是衡量成功的標準。 – Falmarri 2010-10-22 20:34:00