- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
在我的 Windows 应用商店应用程序中,我使用 BackgroundDownloader 类来处理多个后台下载。在我的 3 个下载都 100% 完成后,我关闭并打开应用程序,然后当我运行 BackgroundDownloader.GetCurrentDownloadsAsync 时,它会返回所有 100% 完成状态的下载。
IReadOnlyList<DownloadOperation> readOnlyList = await BackgroundDownloader.GetCurrentDownloadsAsync();
我期望完成的下载将从列表中删除,或者我需要以某种方式强制删除它们。但是找不到它的任何功能。
如何从 CurrentDownloads 列表中删除已完成的下载?
- 附带问题:GetCurrentDownloadsAsync 函数会返回所有事件的下载(包括其他应用程序下载)还是只有下载正在我的应用程序中执行?
最佳答案
您必须通过对刚刚完成的下载执行 AttachAsync()
来执行完成处理程序。之后,下载将不再出现在 GetCurrentDownloadsAsync()
的结果中。
尝试:
private async void Foo()
{
var downloads = await BackgroundDownloader.GetCurrentDownloadsAsync();
foreach (var download in downloads)
{
var task = download.AttachAsync().AsTask();
var notAwait = task.ContinueWith(OnCompleted);
}
}
private void OnCompleted(Task<DownloadOperation> task)
{
DownloadOperation download = task.Result;
// ...
}
关于c# - BackgroundDownloader.GetCurrentDownloadsAsync 返回完成的下载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27894341/
我在 C# UWP 应用程序中使用 BackgroundDownloader,它似乎在 Windows 10 移动版上有 4GB 的限制(二进制 GB,因此大约 4.2 十进制 GB)。同一目录中的文
在我的 Windows 应用商店应用程序中,我使用 BackgroundDownloader 类来处理多个后台下载。在我的 3 个下载都 100% 完成后,我关闭并打开应用程序,然后当我运行 Back
我想为 BackgroundDownloader 实现超时功能。当我超时时,我无法取消下载操作。所以我这样使用它: public async void downloadFile(string f
如何计算后台下载延迟/速度,例如:367kb/s 或 5mb/s? 到目前为止,据我所知,BackgroundDownloadProgress 类公开的唯一可能有用的字段是 BytesReceived
每次当我在 Windows 应用商店应用程序的 C# 代码中调用 BackgroundDownloader 上的 CreateDownload 时,我都会收到以下异常:Exception from H
我有一个 WinRT 应用程序(Windows 8.1 和 Windows Phone 8.1)。我使用 BackgroundDownloader 分组下载文件。 我用的是分组下载有声读物,所以一个有
我正在创建一个 Windows 10 UWP 应用程序,其中涉及 BackgroundDownloader,它仅适用于桌面,不适用于手机。 代码: var dl = new Backgroun
我是一名优秀的程序员,十分优秀!