Android - 每15分钟运行一次后台任务,即使应用程序未运行会怎样?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (10)

我需要构建一个每10/15分钟运行一次的后台任务。

我怎样才能做到这一点?我似乎无法绕过这个包裹。

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

提问于
用户回答回答于

你已经确定了执行代码片段的时间量(时间间隔),它更好地使用AlarmManager,因为它更节能。如果你的应用需要听某种事件,那么服务就是你需要的:

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

}
用户回答回答于

报警管理器与远程服务及内部警报实施是怎样的?

报警管理器是你的选择,因为它已经拥有你所需要的,你只需设置报警间隔 。

扫码关注云+社区