我尝试使用
ScheduledExecutorService executor = Executors.newSingleThreadScheduledExecutor();
executor.scheduleWithFixedDelay(new Runnable(){
public void run() {
// update server (method which has asyncTask)
}
}, 0, 600, TimeUnit.SECONDS);
移动睡眠后它停止工作。我想使用alarmManager做同样的事情,但我不知道我是否应该使用服务,广播服务或活动来满足上述要求。
请帮帮我。
提前致谢。
答案 0 :(得分:1)
由于您将要联网,我建议您使用Service。如果您不需要在执行之间保持状态,或者不想手动处理线程,请使用IntentService
这是我用来设置轮询服务的代码:
Intent intent = new Intent( context, YourService.class );
PendingIntent pendingIntent = PendingIntent.getService( context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT );
AlarmManager alarmManager = (AlarmManager) context.getSystemService( ALARM_SERVICE );
alarmManager.setRepeating( AlarmManager.ELAPSED_REALTIME, POLLING_INTERVAL, POLLING_START_DELAY, pendingIntent );