快速版本:
Android中是否有类似于iOS上的WKWebView
的原生类,可以显示Word文档和PDF?
长版本:
我正在将混合应用程序的原生包装器部分移植到Android。在iOS中,我可以使用WKWebView
来显示各种文档的预览,特别是Word(.docx(文档和PDF文件。
使用视图意图,我可以让Android在Adobe的查看器中打开PDF,但在安装之前,我只会遇到一个例外,即无法找到用于查看文件类型的应用程序。安卓系统真的没有对如此常见的东西的原生支持吗?我手机上的Files应用程序(我可以在那里查看下载等(可以打开并显示PDF,但显然没有在操作系统中注册这一事实。
Android中是否有类似于iOS上的WKWebView的本机类,可以显示Word文档和PDF?
如果你所说的"原生类"是指"安卓SDK中内置的Java类",答案是"不是真的"。DOCX没有任何内容。Android 5.0+有一个PdfRenderer
,但它是为使用Android打印框架生成的PDF的打印预览而设计的,无法渲染许多任意的PDF。
在iOS中,我可以使用WKWebView来显示各种文档的预览,特别是Word(.docx(文档和PDF文件。
有开源和商业库提供这一功能。我在2017年初写了一些关于开源PDF渲染选项的博客。
使用视图意图,我可以让Android在Adobe的查看器中打开PDF,但在安装之前,我只会遇到一个例外,即无法找到用于查看文件类型的应用程序。
这与"本机类"无关。Intent
由应用程序及其注册组件(在您的情况下,是活动(处理。
目前,Android开源项目(AOSP(中没有一款应用程序是PDF查看器或其他文档格式的查看器。任何给定的设备是否会有一个(例如,谷歌文档(都会有所不同。
Android中真的没有对如此常见的东西的本地支持吗?
就应用程序而言,设备制造商无需预装PDF查看器或DOCX查看器。即使他们有一个,也不需要这些查看器的开发人员注册一个支持您使用的任何Intent
结构的<intent-filter>
。由于您的Intent
不在您的问题中,我们无法真正评论对该Intent
的支持有多普遍或不常见。