Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 为此任务使用服务_Android_Service - Fatal编程技术网

Android 为此任务使用服务

Android 为此任务使用服务,android,service,Android,Service,我试图搜索许多讨论线索,但我不清楚这件事。作为一个新手,我无法理解一半的事情,因此我要直接问这个问题 对于我的应用程序,当单击最后一个按钮(开始分析按钮)时,我希望启动一个服务,在该服务内进行的分析长约2-3分钟,一旦完成分析,我希望该服务自动启动主活动中显示的结果活动页 如何完成这项任务?我还想知道,应用程序是否会在后台运行,并且在暂停时不会被android自动关闭 谢谢Android服务的定义是,它可以在后台运行,没有UI。所以是的,这是可能的。但是,服务本身不会自动在后台运行(它在主线程上

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

对于我的应用程序,当单击最后一个按钮(开始分析按钮)时,我希望启动一个服务,在该服务内进行的分析长约2-3分钟,一旦完成分析,我希望该服务自动启动主活动中显示的结果活动页

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


谢谢

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

  • 提供一个服务,该服务可侦听表示要启动操作的意图
  • 当用户单击按钮时,将意图发送到该服务
  • 服务将启动一个新的后台线程,做一些工作一段时间
  • 完成工作后,服务将启动一个新的活动
请注意,如果用户未使用您的应用程序,则启动新活动被认为是非常糟糕的做法。如果你正在使用聊天应用程序,而一个随机的应用程序开始接管,那就太可怕了。。。相反,更好的方法是在某个地方粘贴一个标志,然后在其他活动的
onResume()
处理程序中,检查任务是否完成,如果完成,则将用户发送到其他活动