2012-11-20 65 views

回答

1

嘗試用一個可運行的,如:

private Handler handler = new Handler(); 

    public static final int timeElapsedCheckingDelay = 100; // in ms 

    private float timeElapsed = 0; 

    private Runnable timeElapsedChecker = new Runnable() 
    { 
     public void run() 
     { 
      if(gpsActual != gpsLast) //get the last position and check 
      { 
      //You can export wherever for example a toast 
      timeElapsed = 0; 
      gpsActual = gpsLast; 
      } 
      else 
      timeElapsed +=0.1; 

      handler.removeCallbacks(timeElapsedChecker); // remove the old callback 
      handler.postDelayed(timeElapsedChecker, timeElapsedCheckingDelay); 


     } 
    }; 

這或多或少是僞希望它可以幫助你:)

+0

這會更容易解決問題。但根據我的經驗,這不會容忍準確性問題。 GPS可能指向附近的位置,但用戶尚未從他的位置移開。 在這種情況下,它不會給出正確的結果。 –

+0

在這種情況下,當你檢查你的位置時,你必須知道gps的錯誤,並計算你的位置值。例如2米的收音機,否則我認爲不能有解決方案,因爲座標不準確。 –

+0

是的,我明白了。我將需要設置一個距離閾值,在50米範圍內的變化將被丟棄。 –