1

我有活动+服务课程。

当程序运行时,将显示活动并以onCreate 活动方法启动服务。

当我单击虚拟机的 HOME 按钮时,将出现 HOME SCREEN 但活动将消失

  1. 在这一点上,我想知道该程序在哪种情况下-暂停/停止-???
  2. 服务怎么了?(它还在运行吗?)
  3. 如何使用该服务将活动置于最前面?

谢谢...

4

3 回答 3

3

如果您按下主页按钮,那么对于您的活动来说,它会暂停。并通过按下主页按钮再次启动它,它只是恢复它。

对于服务:这取决于您的服务是如何启动的..

如果您使用 startService(intent) 启动服务,那么您的服务将运行到:

a) 您通过调用 stopService 显式停止它。

b) android 杀死它

c)您从服务内部调用 selfStop

如果您在不调用 startService() 的情况下使用 bindService() 启动服务,则该服务将:

a) 运行直到 Activity 被销毁(没有暂停,所以这意味着如果你按下主页按钮它将继续运行),这也意味着你需要调用 unbind()。

b) android 杀死它

c) 直到您从服务内部调用 selfStop

要将活动带到前台,您需要调用一个意图并设置标志,我相信它是从历史或类似的东西中启动的......您将不得不检查文档。

意图.addFlag(意图.FLAG_ACTIVITY_REORDER_TO_FRONT);<- 我想还是这个-> FLAG_ACTIVITY_LAUNCED_FROM_HISTORY

于 2011-06-14T09:05:32.200 回答
1

请看下面的活动流程,希望对您有所帮助

活动流程

于 2011-06-14T08:55:42.610 回答
0

Activity(and Service) 的状态可能会因其他情况而异。如果 Android 系统需要资源,它可能已经破坏了您的Activity(也可能是您的Service)来获取它们。你应该阅读:

Activity图中(也在 Mark Ba​​kker 的回答中)特别注意包含文本“其他应用程序需要内存”的框。

于 2011-06-14T09:03:00.547 回答