【问题标题】:Get reference to AsynchTask获取对 AsynchTask 的引用
【发布时间】:2014-11-23 12:13:50
【问题描述】:

我有一个 detailActivity,用户可以在该活动中下载文件。我已经使用 AsynchTask 实现了下载任务,它可以毫无问题地下载文件并正确更新进度条。

但是当用户关闭活动并返回到该活动时,progressBar 不会显示下载进度。 返回活动后如何使我的进度条仍然更新?

(我只想注意到我的 dtailActivity 之前有一个 listView,这意味着用户可以通过选择 listView 的另一个项目来打开具有其他内容的 detailActivity。我只想显示确切项目的下载进度,而不是其他项目列表视图)

【问题讨论】:

    标签: android android-asynctask download android-progressbar


    【解决方案1】:

    当您在 Detail Activity 上按下返回按钮时,它会从返回堆栈中移除,现在当您再次打开它时,会创建该 Activity 的一个新实例,而您之前使用的那个实例不再存在。 AsyncTask 与创建它的 UIThread 对象相关联,如果该对象被杀死,那么 AsyncTask 也会被杀死。

    下载东西的最佳方法是使用 Android 中的 DownloadManager 类。

    希望我能帮上忙。

    【讨论】:

    • 我不认为我的 asynchTask 在活动关闭后被杀死,因为我在通知中设置了下载进度,即使活动关闭它也会更新。关闭活动后,下载进度也永远不会失败。这意味着 asynchTask 还没有死。
    • 好的,但我认为没有办法再次获得对该 asyncTask 的引用。
    • 是的,我想是的。但我发现了一些有用的东西。请看我的回答。
    【解决方案2】:

    我发现了一些有用的东西来解决这个问题,请看看这个答案:

    https://stackoverflow.com/a/10998649/2101822

    但不幸的是,它不是一个明确的答案,也没有描述如何做到这一点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-07
      • 1970-01-01
      相关资源
      最近更新 更多