【发布时间】:2020-04-16 16:46:29
【问题描述】:
我正在使用 Xamarin.forms 编写应用程序,我需要在 Droid 和 IOS 中打开 PDF 和 Doc 文档。有没有跨平台的方法来实现这一点?也许有任何包裹?
【问题讨论】:
标签: xamarin xamarin.ios xamarin.android xamarin.forms exrin
我正在使用 Xamarin.forms 编写应用程序,我需要在 Droid 和 IOS 中打开 PDF 和 Doc 文档。有没有跨平台的方法来实现这一点?也许有任何包裹?
【问题讨论】:
标签: xamarin xamarin.ios xamarin.android xamarin.forms exrin
现在您可以通过在您的类中添加对 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
【讨论】:
这取决于您要携带的文件类型。在 Xamarin.Forms 中,您可以使用
Device.OpenUri(new Uri("filepath or http url"));
如果有可以处理扩展的应用程序,那么它将提示您要使用哪个应用程序。
如果您想在应用程序内部查看它们,而不启动第 3 方应用程序,那么我们确实需要知道您正在打开什么类型的文档。如果是PDF的话可以看Display Local PDF File In WebView。
如果是其他类型的文件,你需要看看有没有不同的
【讨论】:
Android,因为它会导致Android.OS.FileUriExposedException。