暂停android下载管理器

暂停android下载管理器,android,android-download-manager,Android,Android Download Manager,在我的应用程序中,我从服务器下载电影。其中一些非常大(4gb或更大)。我尝试将自己的下载管理器作为一项服务来实现,但效果并不好。在一些设备上,应用程序只是在没有任何通知的情况下自行崩溃,总体而言,下载速度似乎太慢 所以,我想使用Android的默认下载管理器,但我唯一的问题是我不能暂停/恢复它 有没有办法实现这一点?从我通过查看源代码可以看出,这是不受支持的(尽管DownloadManager在失败后和系统重新启动后会自动重试,等等) 如果您还没有看到或已经看到,那么这里似乎有一些关于如何使用这

在我的应用程序中,我从服务器下载电影。其中一些非常大(4gb或更大)。我尝试将自己的下载管理器作为一项服务来实现,但效果并不好。在一些设备上,应用程序只是在没有任何通知的情况下自行崩溃,总体而言,下载速度似乎太慢

所以,我想使用Android的默认下载管理器,但我唯一的问题是我不能暂停/恢复它


有没有办法实现这一点?

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


如果您还没有看到或已经看到,那么这里似乎有一些关于如何使用这些功能实现您自己的服务的有用信息。

我发现了另一个非常令人印象深刻的库


您可以通过将Downloads.Impl.COLUMN\u控件设置为Downloads.Impl.CONTROL\u PAUSED来暂停

通过设置Downloads.Impl.COLUMN\u控件,Downloads.Impl.CONTROL\u运行

    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));
}

您的意思是暂停/恢复从您的程序下载,还是用户无法在下载管理器中暂停/恢复下载?我想暂停/恢复从我的代码可能重复的