alarmManager方法每10分钟更新一次数据

时间:2013-02-04 17:43:45

标签: android alarmmanager

我尝试使用

ScheduledExecutorService executor = Executors.newSingleThreadScheduledExecutor();
        executor.scheduleWithFixedDelay(new Runnable(){

            public void run() {
                // update server  (method which has asyncTask)
            }

        }, 0, 600, TimeUnit.SECONDS);

移动睡眠后它停止工作。我想使用alarmManager做同样的事情,但我不知道我是否应该使用服务,广播服务或活动来满足上述要求。

请帮帮我。

提前致谢。

1 个答案:

答案 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 );