2014-01-27 67 views
1

我正在寫一個簡單的應用程序,它可以使用FileOutputStream在文本中編寫GPS座標。文本被成功創建並使用位置座標書寫。因爲我希望儘可能多的協調,儘量搶在文本文件中寫入GPS座標android

locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, this); 

我設置minTime和minDistance纔會爲0:但是,位置並不如我在後續的方法設置更新頻繁。下面是onLocationChanged()的代碼

@Override 
public void onLocationChanged(Location location) { 
    // TODO Auto-generated method stub 
    if (location != null) { 
     long time= System.currentTimeMillis(); 
     String millisec = "" + time; 
     double lat = location.getLatitude(); 
     double longe = location.getLongitude(); 
     loc = millisec + "\t" + lat + "\t" + longe + "\n"; 
     try { 
      FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_APPEND); 
      fos.write(loc.getBytes()); 
     } catch (FileNotFoundException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
    } 
} 

結果不符合我的需要,因爲我想每秒至少一個更新。我的方法錯了還是有更好的方法來做到這一點?

請幫忙。

+0

你有沒有得到任何位置(緯度,經度)到您的文件? –

+0

您是否嘗試使用minTime和minDistance作爲小值但不爲0的值?我還沒有找到Adnroid文檔任何引用的功能,如果您使用0作爲參數,最大化位置間隔... –

+0

@MD雅我得到了我想要的文件。結果如我所料。 –

回答

1

由於在文件中發現,

位置更新之間的時間絕不會少於minTime,雖然它可以是更依賴於位置提供執行和其他應用程序所要求的更新間隔。

位置更新還取決於它自己的實現和其他請求更新的應用程序的間隔。所以,你的最小時間間隔是而不是由LocationProvider保證。

參考:Android Docs