android - PDF.js不打开pdf文件android
问题描述
我正在尝试读取保存在 Android 下载文件夹中的本地 pdf 文件。我创建了应用程序并设置了应有的所有内容,如果保存在资产中,应用程序会读取 pdf:
Control.LoadUrl(string.Format("file:///android_asset/pdfjs/web/viewer.html?file={0}", string.Format("file:///android_asset/abc.pdf")));
但如果我使用:
Control.LoadUrl(string.Format("file:///android_asset/pdfjs/web/viewer.html?file={0}", string.Format("file:///storage/emulated/0/Download/foo.pdf")));
什么都没有显示。
我检查了文件是否存在:
string abc;
if (File.Exists(string.Format("/storage/emulated/0/Download/foo.pdf")))
{
abc = "exist!!!!";
}
else
{
abc = "not exist!";
}
并确认文件存在。
如果我使用 OpenPdf 项目:https ://github.com/acaliaro/OpenPdf 然后它可以打开保存在下载文件夹中的文件。我究竟做错了什么?不同的安卓版本?API级别?我将 OpenPdf 项目与我的项目进行了比较,一切似乎都很好。
权限也设置了:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
解决方案
对于有类似问题的每个人:解决方案非常简单。除了在 AndroidManifest.xml 中调整的权限外,我还必须转到手机应用程序设置并手动打开内存权限。
现在一切正常。
推荐阅读
- android - 在颤动中输入 TextField 时,ListView 没有得到更新
- reactjs - 文件重命名或分支切换时 Create-react-app 监视模式失败
- kubernetes - 使用 backofflimit 重试完成后如何删除作业 pod
- django-rest-framework - 测试使用来自 cookie 的数据的 APIView (Django 3.1)
- vbscript - 如何在 VBS 中读取 DWORD 注册表?
- vba - PPT同名时如何访问不同图表?
- asp.net-core - Blazor webassembly 使用来自 http.sys 的 API 和 windows 身份验证导致未经授权
- android - 我的手机在 android studio 中未被识别为 Android 设备
- reactjs - 比较 React 中的两个状态变量
- android - 使用 observeAsState Compose 的 Livedata