2014-12-28 5 views
0

The (маленький) образец кода от Microsoft для фоновых загрузок с Windows, времени выполнения приложений является:Как узнать, когда загрузка фонограмм OneDrive завершена?

try 
{ 
    LiveDownloadOperation operation = await connectClient.CreateBackgroundDownloadAsync(filePath); 
    var result = await operation.StartAsync(); 
    // Handle result. 
} 
catch 
{ 
    // Handle errors. 
} 

Я использую вариант CreateBackgroundDownloadAsync, где вы можете указать StorageFile в качестве второго параметра, в результате чего загруженный файл храниться как этот StorageFile.

Как узнать, когда загрузка завершена? результат, похоже, не имеет каких-либо свойств, которые я могу проверить, и, похоже, не будет какого-либо события, которое будет запущено.

документация катастрофически не хватает :-(

Благодаря

ответ

0

Оказывается, я был довольно забыв о всей асинхронной/ожидающей части.

Когда

var result = await operation.StartAsync(); 

фактически помещает значение в результате завершения загрузки. Аналогичным образом, при повторном подключении к загрузкам, которые были выполнены, когда приложение было прервано, вызовы ожидания будут завершены после завершения загрузки.

Я по-прежнему считаю, что документация Live SDK очень плохая по сравнению с остальной частью документации MSDN, и Microsoft должна поработать над ней.

+0

Спасибо за комментарии к документации. Мы работаем над совершенно новым процессом для нашей документации для API OneDrive. Будьте на связи. –

0

С просматривал по API Docs, это появляется сделать две вещи:..

  1. Во-первых, добавить обработчик событие BackgroundDownloadCompleted.Это будет поднято, если загрузка завершится, пока ваше приложение все еще активно.
  2. Когда ваше приложение активировано, звоните GetCurrentBackgroundDownloadsAsync в повторно подключиться ко всему, что было в процессе, пока ваше приложение было завершено с помощью метода AttachAsync.
Смежные вопросы