如何从通知意图重新连接到Android上正在运行的AsyncTask?

问题描述

| 我正在通过AsyncTask下载我的应用程序中的文件。在下载过程中,我在通知栏中创建一个通知,并在我的活动中显示一个ProgressBar。 现在,如果用户存在我的应用程序,则下载可能仍在进行中。通知栏的意图允许用户返回到我的应用程序,但是如果发生这种情况,我的应用程序将以其初始状态显示。 如何返回用户离开之前应用程序的状态?随着我的AsyncTask更新ProgressBar? 非常感谢! 丹尼斯     

解决方法

要下载/上传文件,您应该使用IntentService。它的作用是一直保持运行,直到操作完成,然后完成操作。更好的是,您可以使用WakefulIntentService。 现在,当您进行下载时,您可以将进度存储在服务中,并在其被触发时启动一个Intent,它将使用已初始化为当前下载进度的ProgressBar重新创建活动。您将必须设置适当的Intent标志,以免重新创建此活动(如果已存在)。 更好的是,您可以使用自定义视图在通知栏中显示进度。取决于您想要的行为。