如何查看下载的文件当使用Xamarin Android进行另一次下载时

问题描述:

我正在使用Xamarin android实现移动应用程序。我已经实现了一个代码,通过点击按钮来下载.PDF和.Mobi文件。我已经使用了下面的代码。如何查看下载的文件当使用Xamarin Android进行另一次下载时

... 
     await Task.WhenAll(DownloadPDF(), DownloadMobi()); 
    } 

    private async Task DownloadPDF() 
    { 
     var httpclient = new HttpClient(new AndroidClientHandler()); 
     using (var stream = await httpclient.GetStreamAsync("http://files/file.pdf")) 
     using (var file = System.IO.File.Create("path/to/file.pdf")) 
     { 
      await stream.CopyToAsync(file); 
      await file.FlushAsync(); 
     } 
    } 

    private async Task DownloadMobi() 
    { 
     var httpclient = new HttpClient(new AndroidClientHandler()); 

     using (var stream = await httpclient.GetStreamAsync("http://files/file.mobi")) 
     using (var file = System.IO.File.Create("path/to/file.mobi")) 
     { 
      await stream.CopyToAsync(file); 
      await file.FlushAsync(); 
    } 
} 

它同时下载两个文件。我想先下载PDF文件。一旦下载了PDF文件,按钮文本应该从“下载”更改为“查看PDF”。当点击查看PDF文件时,应该在PDF阅读器中打开该文件。移动文件下载应该在此过程之后开始,下载应该在后台进行。 你可以任何人建议你的想法来实现这一目标吗?

+1

嗨。恐怕这是不够的信息。你试过什么了?你的代码的其余部分在哪里? – woelliJ

由于你没有显示任何UI的东西,我想你已覆盖到我将省略。

而是写的:await Task.WhenAll(DownloadPDF(), DownloadMobi());

Task

var task = DownloadPDF(); 
task.ContinueWith((pdfDownloadTask)=> DownloadMobi()); 

以下

await DownloadPDF(); 
// update button to display "View PDF" 
// add button click listener (optional if it's already registered) 
// open file in PDF reader 
await DownloadMobi(); 

使用ContinueWith方法这将继续PDF下载任务后,下一个任务的执行完成