0

我尝试使用

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

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

        }, 0, 600, TimeUnit.SECONDS);

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

请帮帮我。

提前致谢。

4

1 回答 1

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 );
于 2013-02-04T18:03:26.013 回答