Windows.Networking.BackgroundTransfer.DownloadOperation не работает в Windows Phone 10 (но успешно работает в Windows Phone 8.1)

Я пишу приложение Windows Phone 8.1 Silverlight.

Я использую DownloadOperation и UploadOperation из пространства имен Windows.Networking.BackgroundTransfer для загрузки / выгрузки изображений, файлов... И все они успешно работают на устройствах / эмуляторах 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();
            }
        }

Я видел, что у некоторых других парней есть такие же проблемы: BackgroundUploader и BackgroundDownloader в Windows 10 mobile

и приложения для windows 10 DownloadOperation не запускается

Но я не нашел решения, как решить эту проблему? Отмена незавершенных операций и перезапуск устройства не помогают.

Помогите, как заставить работать DownloadOperation на эмуляторах / устройствах Windows Phone 10?

Мой небольшой тестовый приложение для Windows Phone 8.1 Silverligth, в котором DownloadOperation работает на устройствах / эмуляторах Windows Phone 8.1, но не на эмуляторах Windows Phone 10

В этом тестовом приложении я могу воспроизвести эту ошибку даже после первого развертывания приложения, когда я пытаюсь загрузить первые 4 изображения...

0 ответов

Другие вопросы по тегам