【发布时间】:2011-06-23 03:05:38
【问题描述】:
一个很简单的问题:
我知道 Android 应用程序在关闭时会在后台运行。我的应用程序是否可以在后台继续工作?比如在应用程序中维护一个定时器,让它每小时自动执行一个功能?
谢谢!
【问题讨论】:
标签: java android background multitasking
一个很简单的问题:
我知道 Android 应用程序在关闭时会在后台运行。我的应用程序是否可以在后台继续工作?比如在应用程序中维护一个定时器,让它每小时自动执行一个功能?
谢谢!
【问题讨论】:
标签: java android background multitasking
使用服务在后台执行任务。更多信息在这里http://developer.android.com/guide/topics/fundamentals/services.html。
【讨论】:
报警服务应满足您的需求; here's an example.
【讨论】:
要在后台(或主应用程序线程之外)运行,有几个选项。要在后台快速执行某些操作,最简单的方法是使用 AsyncTask。听起来您想要实现的功能比 AsyncTask 所能处理的要多。对于您想要在幕后运行的更长期的任务,您可能需要一个服务。
您可以让服务运行,执行它们应该做的事情然后退出,您可以让服务继续运行。服务有很多深度。您可以使用上面由另一个用户链接的 AlarmService,但另一种方法是只制作一个简单的服务并使用 TimerTask http://developer.android.com/reference/java/util/TimerTask.htm
但请记住,当您在 Service 中执行操作时,它们将在主线程上完成,这可能会减慢其他程序的速度,因此任何长时间的逻辑都需要在 AsyncTask 中完成。
【讨论】: