【发布时间】:2018-05-01 03:58:57
【问题描述】:
在 Android (8.0) 上,我正在尝试创建一个本地 html 文件,其中包含一些 Chrome 无法直接查看的本地文件的链接,例如 <a href="relative_path_to_file/file.docx">。在普通的网络浏览器中(即在 PC 上),我可以单击该链接,它会在其默认查看器中打开该文件。在 Android 上,如果我在 Chrome 中打开一个本地 html 文件并单击其中一个链接,它会将我定向到 content://nextapp.fx.FileProvider/path_to_file/file.docx,显示“找不到您的文件”。我确实安装了适当的应用程序来查看文件(我可以通过文件资源管理器应用程序打开它)。我想了解如何构建 URL,以便可以通过引用它们的链接访问各种类型的文档(即 docx、xlsx、pdf 等)-单击该链接应该可以打开文件,因为它从文件管理器访问文件时执行此操作。
- 我尝试将链接重写为绝对路径,即“/storage/emulated/0/path/file.docx”。结果是一样的。
- 我尝试将链接重写为“file:///storage/emulated/0/path/file.docx”。 Chrome 只是重定向到 about:blank。
- 我尝试使用“HTML 查看器”而不是 Chrome 打开 html 文档。行为或多或少相同(在第一种情况下,它重定向到 about:blank,在第二种情况下,它说“没有可用于打开链接的应用程序。”)
如何构建链接以便可以单击它并在适当的查看器中打开引用的文件?
【问题讨论】:
-
相关(并且我之前已经阅读过该答案),但我仍然无法弄清楚如何根据我的问题在 html 中构造 url(因此它提供了该文件类型的可用应用程序)。 ..
-
你读过关于在 android in net 中交互 html 的文章吗?
-
...嗯?你问我是否在网上搜索过解决方案?是的,显然......这就是我问的原因:P
-
如果 Android 上的 Chrome 只显示网站而不使用本地文件,它的行为如何?
标签: android android-intent android-contentprovider android-fileprovider