小编Swa*_*ati的帖子

在特定间隔后获取当前设备位置

我想在特定间隔(比如说30分钟)之后捕获android设备的当前位置(经度和纬度).我的类(或服务??不确定要使用什么)将LocationManagerListener在设备启动完成时开始监听.实现这个的最佳方法是什么?我们如何locationChanged()在这种情况下使用方法?

这是我认为它可以去:

监听启动完成事件并设置警报服务:

public class OnBootReceiver extends BroadcastReceiver {
  private static final int PERIOD=1800000; // 30 minutes

  @Override
  public void onReceive(Context context, Intent intent) {

    AlarmManager mgr=(AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
    Intent i=new Intent(context, OnAlarmReceiver.class);
    PendingIntent pi=PendingIntent.getBroadcast(context, 0,
                                              i, 0);

    mgr.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP,
                      SystemClock.elapsedRealtime()+60000,
                      PERIOD,
                      pi);
  }
}
Run Code Online (Sandbox Code Playgroud)

监听警报服务并启动位置捕获类或服务:

 public class OnAlarmReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {    
      WakefulIntentService.acquireStaticLock(context);  
      context.startService(new Intent(context, locationCapture.class)); 
      or 
      new locationCapture().classmethod();
    }
    }
Run Code Online (Sandbox Code Playgroud)

我不确定locationCapture应该如何实施课程.它应该是普通的Java类还是Service类?

任何帮助将不胜感激.

android

4
推荐指数
1
解决办法
3260
查看次数

标签 统计

android ×1