首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何每10分钟后台运行一次服务?

如何每10分钟后台运行一次服务?
EN

Stack Overflow用户
提问于 2015-01-21 16:15:48
回答 5查看 27.5K关注 0票数 5

我想使用一个在后台无限期运行的服务,每10分钟调用一次方法,它的运行甚至会杀死应用程序

如何创建?

EN

回答 5

Stack Overflow用户

发布于 2015-01-21 16:45:05

您可以按如下方式使用服务来完成此操作

代码语言:javascript
运行
复制
@Override
  public int onStartCommand(Intent intent, int flags, int startId) {

    Handler handler = new Handler();
    handler.postDelayed(new Runnable() {

        @Override
        public void run() {
            //performe the deskred task
        }
    }, 10minutes time in milisecods);

      // If we get killed, after returning from here, restart
      return START_STICKY;
  }

即使应用程序被终止,此服务也会自动启动,并会延迟运行

票数 5
EN

Stack Overflow用户

发布于 2015-01-21 16:19:58

有关如何使用服务的信息,请参阅

Services - Android

Services in Android - Vogella

这里有一个清晰的解决方案,它使用AlarmManager:https://stackoverflow.com/a/10222390/2591556专注于“每10分钟”部分

票数 0
EN

Stack Overflow用户

发布于 2015-01-21 16:27:47

假设您有一个正在运行的服务

每10分钟运行一次服务的用户AlarmManager

代码语言:javascript
运行
复制
   AlarmManager am=(AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
         Intent i = new Intent(context, YourService.class);
         PendingIntent pi = PendingIntent.getBroadcast(context, 0, i, 0);
         am.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), 600000, pi); // Millisec * Second * Minute
     }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28062440

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档