Android 如何再次显示第二个屏幕

Android 如何再次显示第二个屏幕,android,Android,我有一个非常简单的UI应用程序。图像的大部分批量处理工作都是在后台使用AsyncTask完成的 它只有两个特点。第一个ActivityMainScreen允许用户做出一些选择,然后启动作业。第二个屏幕ProgressScreen使用进度条和消息显示作业的当前状态 它很好用 问题出在这里。后台任务可能需要几个小时。如果用户在ProgressScreen上选择back按钮,则后台任务仍在继续 后来如果他想回去看看进展,那就没办法了。如果我重新启动应用程序,它将进入主屏幕,而不是ProgressScr

我有一个非常简单的UI应用程序。图像的大部分批量处理工作都是在后台使用AsyncTask完成的

它只有两个特点。第一个ActivityMainScreen允许用户做出一些选择,然后启动作业。第二个屏幕ProgressScreen使用进度条和消息显示作业的当前状态

它很好用

问题出在这里。后台任务可能需要几个小时。如果用户在ProgressScreen上选择back按钮,则后台任务仍在继续

后来如果他想回去看看进展,那就没办法了。如果我重新启动应用程序,它将进入主屏幕,而不是ProgressScreen。我知道后台任务正在进行,因为现在我正在logcat中记录一条关于正在处理的每个图像的消息,但我看不到返回ProgressScreen的方法

我环顾四周,我想我需要在ProgressScreen的onStop&onRestart中添加一些内容,但不确定是什么


我应该提到的是,此应用程序不适用于一般公众,但仅供内部使用。我们需要将安卓系统完成的图像处理与其他系统完成的图像处理进行比较。

您可以尝试将处理逻辑放入服务中,该服务旨在运行长时间操作,而无需用户干预。那么,您的第二个活动如何知道任务的进度呢?它可以用不同的方式来完成

您可以从处理图像的服务线程发送广播消息,并在活动中捕获它们。 您可以将进度持续到某个地方,然后定期从那里读取您的活动。 如果希望进度更实时,可以向服务发送ResultReceiver,并让它从那里向活动通知进度。 等