2
我試圖通過LocationManager獲取網絡位置(500米範圍內)每半秒鐘10秒的快速和髒的GPS查找。換句話說,我只是試圖找到正確的粗糙的Criteria設置和正確的邏輯來在我的Handler線程中沒有更好的位置10秒後停止檢查。Android - 在短時間內獲取網絡GPS位置(最長10秒)
我想我的主循環應該是這個樣子:
/**
* Iteration step time.
*/
private static final int ITERATION_TIMEOUT_STEP = 500; //half-sec intervals
public void run(){
boolean stop = false;
counts++;
if(DEBUG){
Log.d(TAG, "counts=" + counts);
}
//if timeout (10 secs) exceeded, stop tying
if(counts > 20){
stop = true;
}
//location from my listener
if(bestLocation != null){
//remove all network and handler callbacks
} else {
if(!stop){
handler.postDelayed(this, ITERATION_TIMEOUT_STEP);
} else {
//remove callbacks
}
}
}
我想知道的是,我以後獲取最後已知位置作爲我的初始的最好位置,並拉開我的線,怎麼辦我設置了粗略的標準,以便比最初的標準更準確(爲了比較兩者的新鮮程度),這通常與我目前的位置截然不同?