Android应用程序在后台执行代码

时间:2011-06-23 03:05:39

标签: java android background multitasking

一个非常简单的问题:

我知道Android应用程序在关闭时会在后台运行。我的应用程序是否可以在后台运行时继续工作?例如,在应用程序中维护一个计时器,以便每小时自动执行一次功能吗?

谢谢!

3 个答案:

答案 0 :(得分:1)

报警服务应满足您的需求; here's an example

答案 1 :(得分:1)

使用服务在后台执行任务。更多信息在这里http://developer.android.com/guide/topics/fundamentals/services.html

答案 2 :(得分:1)

要在后台(或主应用程序线程之外)运行,有几个选项。要在后台快速完成某项操作,最简单的方法是使用AsyncTask。听起来你想要比AsyncTask更好地实现它。对于您希望在幕后运行的更长期任务,您可能需要服务。

您可以拥有运行的服务,执行他们应该执行的操作然后退出,并且您可以拥有继续运行的服务。服务有很多深度。您可以使用上面由另一个用户链接的AlarmService,但另一种方法是创建一个简单的服务并使用TimerTask http://developer.android.com/reference/java/util/TimerTask.htm

请记住,当您在服务中执行操作时,它们将在主线程上完成,这可能会减慢其他程序的速度,因此需要在AsyncTask中完成长时间的任何逻辑。