我能够将pdf文件本地保存在手机的“下载”文件夹中。现在,我希望能够在通用pdf查看器中打开文件。例如,这是我的文件:
直接从下载文件夹中打开时,出现以下视图:
下载文档后,如何在同一查看器中打开文档?
我尝试过:
Device.OpenUri(new System.Uri("file:///storage/emulated/0/Download/740067_Invoice_Food.pdf"));
但是什么也没发生。
答案 0 :(得分:1)
尝试这种方法,也许您需要使用Environment.SpecialFolder更改文件夹路径
var documents = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
var filename = Path.Combine(documents, "MyPDF.pdf");
Device.OpenUri(new Uri(filename));
答案 1 :(得分:1)
首先将fileprovider指定为android清单文件
类似这样的东西
<application android:label="The name of your project" android:supportsRtl="true" android:icon="@drawable/register">
<provider android:name="android.support.v4.content.FileProvider" android:authorities="${applicationId}.fileprovider" android:exported="false" android:grantUriPermissions="true">
<meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/provider_paths"></meta-data>
</provider>
</application>
接下来,将provider_paths.xml文件添加到xml文件夹中
<?xml version="1.0" encoding="utf-8"?>
<paths xmlns:android="http://schemas.android.com/apk/res/android">
<external-path name="external_files" path="."/>
</paths>
现在您应该通过“ DependencyService”为每个平台调用本机方法以打开pdf文件
按照此伟大文档进行操作
https://officialdoniald.azurewebsites.net/2019/09/24/xamarin-forms-save-and-open-pdf-file/