1

Windows Phone 8.1 Silverlight アプリケーションを作成しています。

Windows.Networking.BackgroundTransfer 名前空間の DownloadOperation と UploadOperation を使用して、画像やファイルをダウンロード/アップロードしています...そして、Windows Phone 8.1 デバイス/エミュレーターではすべて正常に動作しますが、Windows Phone 10 エミュレーターでは動作しません。

問題は、 DownloadOperation / UploadOperation がダウンロード/アップロードを開始せず、進行状況のコールバックや例外さえも提供しないことです..StartAsync()..

これは、私がこの API をどのように使用しているかの例です。

            StorageFile destinationFile;
            try
            {
                destinationFile = await ApplicationData.Current.LocalFolder.CreateFileAsync(item.Name, 
                    CreationCollisionOption.ReplaceExisting);
            }
            catch (FileNotFoundException ex)
            {
                if (Debugger.IsAttached) Debugger.Break();
                return;
            }

            var backgroundDownload = _backgroundDownloader.CreateDownload(new Uri(item.Url), destinationFile);
            backgroundDownload.CostPolicy = BackgroundTransferCostPolicy.Always;

            try
            {
                var progresscallback = new Progress<DownloadOperation>(operation =>
                {
                    if (operation.Progress.TotalBytesToReceive != 0)
                    {
                        var progress = 100 * operation.Progress.BytesReceived / (double)operation.Progress.TotalBytesToReceive;
                        item.Progress = progress;
                    }                        
                });

                await backgroundDownload.StartAsync().AsTask(_cancellationTokenSource.Token, progresscallback);
                var info = backgroundDownload.GetResponseInformation();
                if (info.StatusCode == 200 || info.StatusCode == 206)
                {
                    ImagesToDownload.Remove(item);
                    DownloadedImages.Insert(0, item);
                }
                else
                {
                    if (Debugger.IsAttached) Debugger.Break();
                }
            }
            catch (Exception ex)
            {
                if (Debugger.IsAttached) Debugger.Break();
            }
        }

Windows 10 モバイルの BackgroundUploader と BackgroundDownloaderは、他の何人かの人々が同じ問題を抱えているのを見てきました。

Windows 10 アプリの DownloadOperation が開始されない

しかし、この問題を解決する方法が見つかりませんでしたか? 未完了の操作のキャンセルとデバイスの再起動は役に立ちません。

Windows Phone 10 エミュレーター/デバイスで DownloadOperation を強制的に動作させる方法を教えてください。

DownloadOperationがWindows Phone 8.1デバイス/エミュレーターで動作するが、Windows Phone 10エミュレーターでは動作しない、私の小さなテストWindows Phone 8.1 Silverligthアプリ

このテスト アプリでは、最初の 4 つのイメージをダウンロードしようとすると、アプリケーションの最初の展開後でもこのバグを再現できます...

4

0 に答える 0