私はLocationManagerを使用してGPSの検索を高速に設定しようとしています(500メートル以内) 。言い換えれば、私はちょうど正しい粗い基準設定と正確なロジックを見つけようとしています.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
}
}
}
私が知りたいのは何が行う方法であり、私は粗い基準を設定して、最初のものよりも正確なものを受け取るようにしました。(新鮮さを比較するために)通常は現在の位置とはまったく異なっていますか?