0

我试图搜索许多讨论线程,但我不清楚这件事。作为新手,我无法理解一半的事情,因此我要问直接的问题。

对于我的应用程序,当单击最后一个按钮(开始分析按钮)时,我希望启动一个服务,服务内部要完成的分析大约需要 2-3 分钟,一旦分析完成,我希望服务自动启动我的主要活动中的结果活动页面。

怎样才能完成这项任务?而且我还想知道应用程序是否会在后台运行并且在暂停时不会被android自动关闭?

谢谢

4

1 回答 1

1

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

  • 有一个服务来侦听启动操作的意图。
  • 当您的用户单击按钮时,将意图发送到该服务。
  • 该服务将启动一个新的后台线程,做一些工作一段时间。
  • 完成工作后,Service 将启动一个新的 Activity。(像这样..)

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

于 2012-06-11T12:46:45.050 回答