2014-04-13 31 views
0

我想要为我的活动提供背景。据我所知,最好的方法是使用服务。我想保持以下两个任务始终运行:Android将定期任务纳入服务

  1. 第一个任务总是启动。它每隔1小时定期运行一次。

  2. 第二个任务可能运行也可能不运行。这每1分钟定期运行一次。这取决于用户是否打开这个部分。

我希望这两个任务总是在运行,我很困惑我如何将它们变成服务。

我应该为这些任务中的每一个创建两个服务,并且这些服务调用活动中的关联方法?我只是开始/停止服务来启动/停止任务?如果是这样,应该怎么做。

回答

0

考虑使用以下类:

你想要的时间间隔创建不精确的闹钟。当警报触发时,它将触发PendingIntent - 使用PendingIntent.getService()创建PendingIntents。

这种方法是首选,因为(a)IntentService完成其任务时会自动停止,因此当您实际上不需要它们运行时没有服务正在运行; (b)IntentService使用后台线程进行处理,所以如果您的应用在当时处于前台,它将永远不会使用UI线程; (c)使用不精确的警报可以让操作系统协调多个警报,以便立即启动,最大限度地减少设备唤醒,这对电池更好。