我想在特定间隔(比如说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 ×1