如何以xamarin格式打开下载的文件?

时间:2016-10-03 10:33:03

标签: c# xamarin xamarin.ios xamarin.android xamarin.forms

在我的Xamarin表单中,我使用Web客户端在Android App中下载文件。它保存在本地文件夹中。 这将提到使用android通知如下代码

ext_tables.php

我想从通知中打开下载的文件。我怎么能这样做。我是Xamarin的新手。请建议一个解决方案。

2 个答案:

答案 0 :(得分:0)

对于您的通知,您可以创建一个PendingIntent Intent,其中包含文件的操作视图。这看起来像是:

var mimeTypeMap = MimeTypeMap.Singleton;
var mimeType = mimeTypeMap.GetMimeTypeFromExtension(System.IO.Path.GetExtension(filePath));

var intent = new Intent();
intent.SetAction(Intent.ActionView);
intent.SetDataAndType(Android.Net.Uri.Parse(filePath), mimeType);

var pendingIntent = PendingIntent.GetActivity(this, 0, intent, PendingIntentFlags.OneShot);

然后在Intent构建器中设置Notification

notification.SetContentIntent(pendingIntent);

现在,您提供Intent的文件路径必须位于可从Android上的所有应用程序访问的位置,否则打开它将失败。因此,当您保存文件时,请将其保存到公共场所的外部存储中。

答案 1 :(得分:0)

我用这个

var docSaved = await DisplayActionSheet("Saved", "Open", "Ok", "File was successfull);
   switch (docSaved)
   {
         case "Open":
         {
             Device.OpenUri(new Uri(Your_FilePath));
             break;
         }
         case "Ok":
         {
            break;
         }                   
   }