使用服务执行此任务

时间:2012-06-11 11:03:03

标签: android service

我试图搜索许多讨论主题,但我不清楚这个问题。作为新人我无法理解一半的事情因此我会问直接的问题。

对于我的应用程序,当点击最后一个按钮(开始分析按钮)时,我想要一个服务启动,在服务内部进行的分析将近2-3分钟,一旦分析完成我想要服务以自动启动我的主要活动中存在的结果活动页面。

如何实现这项任务?我还想知道,如果应用程序将在后台运行,并且在暂停时不会被android自动关闭?

由于

1 个答案:

答案 0 :(得分:1)

Android服务的定义是它可以在后台运行,没有UI。是的,这是可能的。但是,服务本身不会自动在后台运行(它在主线程上运行)。相反,你想做的事情可能是这样的:

  • 有一项服务,该服务会侦听说开始操作的意图。
  • 当您的用户点击该按钮时,将意图发送到该服务。
  • 该服务将启动一个新的后台线程,暂时做一些工作。
  • 完成工作后,服务将启动一项新活动。 (Like this..)

注意,如果用户未使用您的应用,则启动新活动被认为是非常糟糕的做法。如果您正在使用聊天应用程序并且随机应用程序开始接管,那就太可怕了......相反,更好的想法是在某个地方贴一个标志然后在其他Activity的onResume()处理程序中,检查是否有任务已完成,如果是,则将用户发送到另一个活动。