每2分钟获取一个移动设备的当前位置

时间:2016-08-23 06:31:28

标签: android android-asynctask

我有一个应用程序,它有一个接一个地有三个doinbackground异步函数。第一个函数通过传递mcc,mnc,cellid和lac来获取使用opencell api的移动设备当前位置的纬度和经度。在执行此函数后,调用另一个api来获取基于纬度和经度的位置的当前时间。执行此函数后,我调用服务器页面将所有这些收集的数据保存到mysql db。

我希望每隔一分钟重复一次。我们如何实现它?现在,它可以作为应用程序使用,每次启动应用程序时,数据都会保存到mysql中。

2 个答案:

答案 0 :(得分:0)

 public  void StartAlaramServiceforDataService(){

    Calendar calendar = Calendar.getInstance();
    calendar.setTimeInMillis(System.currentTimeMillis());
    calendar.add(Calendar.SECOND, 1);
    Intent intentToQB = new Intent(SendLatlong.this, LocationFetchService.class);
    PendingIntent pendingIntent = PendingIntent.getService(getApplicationContext(),1212, intentToQB, PendingIntent.FLAG_CANCEL_CURRENT);
    AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
    alarmManager.setRepeating(AlarmManager.RTC_WAKEUP,calendar.getTimeInMillis(),60*1000, pendingIntent);//You can change Time here


}

在LocationFetchService获取LatLong

答案 1 :(得分:0)

不要像这样使用Async任务来获取每2分钟的位置,有一个完美的解决方案是"融合位置提供商"。它会定期为我们提供设备位置,您可以将其设置为2分钟,然后查看此https://github.com/googlesamples/android-play-location/tree/master/LocationUpdates