暂停android DownloadManager

时间:2012-11-11 09:43:09

标签: android android-download-manager

在我的应用程序中,我从服务器下载电影。其中一些非常大(4gb或更多)。我试图将我自己的下载管理器作为一项服务实现,但它并没有放弃。在某些设备上,应用程序只是在没有任何通知的情况下崩溃,整体下载似乎太慢了。

所以,我想使用Android的默认DownloadManager,但我唯一的问题是我无法暂停/恢复它。

有没有办法实现呢?

3 个答案:

答案 0 :(得分:2)

通过查看源代码我可以看出,这是不受支持的(尽管DownloadManager会在失败后自动重试,并在系统重启后等等。)

如果您还没有看到thisthis,那么看起来有一些有用的信息可以告诉您如何使用这些功能自行实现自己的服务。

答案 1 :(得分:1)

我找到了另一个令人印象深刻的图书馆

https://github.com/Trinea/android-common

Example

答案 2 :(得分:0)

您可以通过将Downloads.Impl.COLUMN_CONTROL设置为Downloads.Impl.CONTROL_PAUSED来暂停。

并通过设置Downloads.Impl.COLUMN_CONTROL和Downloads.Impl.CONTROL_RUN继续

    public void pauseOrResumeDownload(boolean pause, long... ids) {
    ContentValues values = new ContentValues();
    if (pause) {
        values.put(Downloads.Impl.COLUMN_CONTROL, Downloads.Impl.CONTROL_PAUSED);
    } else {
        values.put(Downloads.Impl.COLUMN_STATUS, Downloads.Impl.STATUS_PENDING);
        values.put(Downloads.Impl.COLUMN_CONTROL, Downloads.Impl.CONTROL_RUN);
    }
    mResolver.update(mBaseUri, values, getWhereClauseForIds(ids), getWhereArgsForIds(ids));
}