android中的背景线程

时间:2012-06-15 14:49:39

标签: java android multithreading

我是一名研究生,刚刚开始安装android程序3周,我正在尝试编写一个应用程序,它从手机中提取加速度计数据并将其写入手机。我的问题是,当手机启动并运行时,我想运行我的应用程序(从加速度计获取数据)。我的意思是,当有人打电话,面对面等等时,我的应用程序必须一直运行。那可能吗?我想得到一些参考。

3 个答案:

答案 0 :(得分:2)

  

我的意思是我的应用程序必须在有人的时候运行   打电话,面对面等等。这可能吗?

因此,对于长期任务,您可以使用AsyncTaskServices。如果你想执行某个任务,并且当它与任何Activity没有连接时也必须运行(例如音乐播放器,在内存管理器从内存释放后仍然运行的RSS),你应该决定使用{ {1}}您也可以将ServicesServices结合使用。

AsyncTask是强大的工具,但与他们合作并非易事。您只能及时执行一个Services,只能运行一个Service,一个实例,一个副本。这一切都不是免费的,所以你必须要小心,因为当你实施Service太脏时,可能会导致电池过早耗尽。 如何启动Service有更多方法,但您必须阅读一些教程和指南。 我建议您查看以下内容:ServicesServicesDemo - Using Android ServicesAndroid Service TutorialLocal Service | Android Tutorial for Beginners

另请查看AsyncTaskAndroid Threads, Handlers and AsyncTask - Tutorial

答案 1 :(得分:1)

您可以使用Services。看here

答案 2 :(得分:0)

如果您希望关闭应用的活动,但仍需要在后台运行您需要的工作,那么您可以使用Service, or IntentService(使用意向服务,就像您想要的那样一段时间后更新。