【问题标题】:How to open files in default program?如何在默认程序中打开文件?
【发布时间】:2020-04-16 16:46:29
【问题描述】:

我正在使用 Xamarin.forms 编写应用程序,我需要在 Droid 和 IOS 中打开 PDF 和 Doc 文档。有没有跨平台的方法来实现这一点?也许有任何包裹?

【问题讨论】:

    标签: xamarin xamarin.ios xamarin.android xamarin.forms exrin


    【解决方案1】:

    现在您可以通过在您的类中添加对 Xamarin.Essentials 的引用来使用 Launcher 类。

    其他应用程序打开文件时使用:

    await Launcher.OpenAsync(new OpenFileRequest
    {
        File = new ReadOnlyFile(file)
    });
    

    file 是 File 或 FullPath。

    您可以在这里找到更多信息:https://docs.microsoft.com/en-us/xamarin/essentials/launcher?tabs=android

    【讨论】:

      【解决方案2】:

      这取决于您要携带的文件类型。在 Xamarin.Forms 中,您可以使用

      Device.OpenUri(new Uri("filepath or http url"));
      

      如果有可以处理扩展的应用程序,那么它将提示您要使用哪个应用程序。

      如果您想在应用程序内部查看它们,而不启动第 3 方应用程序,那么我们确实需要知道您正在打开什么类型的文档。如果是PDF的话可以看Display Local PDF File In WebView

      如果是其他类型的文件,你需要看看有没有不同的

      【讨论】:

      • 这不适用于Android,因为它会导致Android.OS.FileUriExposedException
      • 这篇博文帮助我修复了 Android 异常:medium.com/p/70b9eb17c6d0
      • 现在已经过时了。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多