0

假设我有 2 个活动:活动 1,活动 2。我正在从活动 1 启动活动 2。活动 2 - 是带有图像和进度条的活动,用于显示在服务中启动的某些后台任务的执行进度。

当我尝试从 Activity 2 按下硬件后退按钮时,它会将我带回到 Activity 1,因此即使有服务仍在运行,我也可以再次启动 Activity 2。

所以问题是这样的:我怎样才能防止这种行为。我只需要启动 Activity 2 1 次并且在工作未完成时不退出它??另一种情况是我可以从任务管理器停止我的应用程序,但服务将正常工作,之后我可以再次运行应用程序 - 使用新服务,而旧服务仍在运行?有什么机制可以防止这种行为?谢谢。

在此处输入图像描述

4

1 回答 1

1

您可以在Activity类启动时绑定到本地服务。绑定后,您Activity可以调用该服务声明的任何公共方法。这将允许您Activity绑定到服务,然后检查服务当前是否正在执行任何工作。您可能会制作类似isRunning()或类似的方法。如果该服务当前没有做任何工作,您可能需要开始一项新工作。如果它已经在执行某个任务,那么您可以显示该任务的当前进度。

您应该阅读 Android 开发者网站上的本地服务示例文章以了解如何执行此操作。

于 2012-11-26T01:39:41.563 回答