首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Android -每15分钟运行一次后台任务,即使在应用程序未运行时也是如此

Android -每15分钟运行一次后台任务,即使在应用程序未运行时也是如此
EN

Stack Overflow用户
提问于 2013-04-23 03:20:27
回答 5查看 26.8K关注 0票数 19

我需要构建一个每10/15分钟运行一次的后台任务(这并不重要,也很好),即使应用程序没有运行。

我如何才能做到这一点呢?我似乎不能理解这件事。

我读到我可以使用某种runnable()功能,或者使用后台服务或AlarmManager。我在考虑后台服务,因为它也必须在应用程序本身不运行时完成。

做这件事有什么更好的方法?我该怎么做?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2013-04-23 03:25:12

您已经确定了执行一段代码的时间(间隔),最好使用AlarmManager,因为它的能效更高。如果你的应用需要监听某种事件,那么Service就是你所需要的。

代码语言:javascript
复制
public static void registerAlarm(Context context) {
    Intent i = new Intent(context, YOURBROADCASTRECIEVER.class);

    PendingIntent sender = PendingIntent.getBroadcast(context,REQUEST_CODE, i, 0);

    // We want the alarm to go off 3 seconds from now.
    long firstTime = SystemClock.elapsedRealtime();
    firstTime += 3 * 1000;//start 3 seconds after first register.

    // Schedule the alarm!
    AlarmManager am = (AlarmManager) context
            .getSystemService(ALARM_SERVICE);
    am.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, firstTime,
            600000, sender);//10min interval

}
票数 22
EN

Stack Overflow用户

发布于 2013-04-23 03:33:58

Alarm Manager (系统服务)与具有内部警报实现的远程服务(独立进程)?

Alarm Manager是您的选择,因为它已经具备您需要的功能,您只需设置报警间隔

票数 2
EN

Stack Overflow用户

发布于 2013-04-23 03:40:23

您也可以通过SyncAdapter来实现这一点。这里是一个示例,供您查看并获得灵感

SyncAdapter sample

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16155032

复制
相关文章

相似问题

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