我正在编写一个简单的应用程序,可以使用FileOutputStream
在文本中写入GPS坐标。已成功创建文本并使用位置坐标编写。但是,位置不像我在以下方法中设置的那样频繁更新:
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 :(得分:1)
在Docs上找到,
位置更新之间经过的时间永远不会小于minTime,尽管它可能更多取决于位置提供程序实现和其他应用程序请求的更新间隔。
位置更新还取决于其自己的实施以及请求更新的其他应用的间隔。因此,您的最小时间间隔
参考:Android Docs