我是Android新手。我尝试了几种在手机数据库中存储GPS坐标的方法。
现在的问题是我希望每隔x秒存储GPS坐标,当前移动的车速和时间。
此功能也应在按钮点击事件后启动。
答案 0 :(得分:1)
您只需要制作一个后台服务,每隔x秒就会连续获取GPS坐标。为此提供服务的主要原因是,当您的应用程序不可见且最小化时,您的服务将继续运行,并且在应用程序的后台,GPS坐标将定期更新。
要实现,您需要一个FusedLocationAPI和GooglAPiClient。如果你想要一个非常简单的代码而不是这个链接: Android make method run every X seconds (involves gps and server call)
答案 1 :(得分:0)
创建一个服务并启动一个如下所示的计时器。希望这有帮助
public void starttimer(){
timer = new CountDownTimer(300000, 2000) {
@Override
public void onTick(long millisUntilFinished) {
locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
Criteria criteria = new Criteria();
String provider = locationManager.getBestProvider(criteria, true);
try {
location = locationManager.getLastKnownLocation(provider);
}
catch (Exception e)
{
}
if(location==null) {
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
}
if (location != null) {
double lat = location.getLatitude();
double longg = location.getLongitude();
mMap.moveCamera( CameraUpdateFactory.newLatLngZoom(new LatLng(lat,longg) , 14.0f) );
} else {
Toast.makeText(MainActivity.this, "Device Failed To Fetch Lat Long", Toast.LENGTH_LONG).show();
}
}
@Override
public void onFinish() {
//your code when timer finishes
}
}.start();
}