Android本机支持预览PDF文件和其他文档?
快速版本: Android中是否有类似于iOS上的Android本机支持预览PDF文件和其他文档?,android,pdf,docx,Android,Pdf,Docx,快速版本: Android中是否有类似于iOS上的WKWebView的本地类,可以显示Word文档和PDF 长版本: 我正在将混合应用程序的本机包装部分移植到Android上。在iOS中,我可以使用WKWebView来显示各种文档的预览,特别是Word(.docx)文档和PDF文件 使用查看意图,我可以让Android在Adobe的viewer中打开PDF,但在安装之前,我会遇到一个例外,即无法找到查看文件类型的应用程序。Android中真的没有对如此普通的东西的本地支持吗?我手机上的文件应用程
WKWebView
的本地类,可以显示Word文档和PDF
长版本:
我正在将混合应用程序的本机包装部分移植到Android上。在iOS中,我可以使用WKWebView
来显示各种文档的预览,特别是Word(.docx)文档和PDF文件
使用查看意图,我可以让Android在Adobe的viewer中打开PDF,但在安装之前,我会遇到一个例外,即无法找到查看文件类型的应用程序。Android中真的没有对如此普通的东西的本地支持吗?我手机上的文件应用程序(我可以查看下载等)可以打开并显示PDF,但显然没有在操作系统中注册
Android中是否有类似于iOS上的WKWebView的本机类,可以显示Word文档和PDF
如果“本机类”指的是“安卓SDK内置的Java类”,那么答案是“不是真的”。DOCX没有任何东西。安卓5.0+有一个PdfRenderer,但它是为使用安卓打印框架生成的PDF打印预览而设计的,无法呈现许多任意PDF
在iOS中,我可以使用WKWebView来显示各种文档的预览,特别是Word(.docx)文档和PDF文件
有开源和商业图书馆提供这一功能。我在2017年初离开
使用查看意图,我可以让Android在Adobe的viewer中打开PDF,但在安装之前,我会遇到一个例外,即无法找到查看文件类型的应用程序
这与“本地类”无关。Intent
由应用程序及其注册组件(在您的情况下是活动)处理
目前,Android开源项目(AOSP)中没有一款应用程序是PDF查看器或其他文档格式的查看器。任何给定的设备是否会有一个(如谷歌文档)将有所不同
Android中真的没有对如此普通的东西的本地支持吗
就应用程序而言,设备制造商无需预安装PDF查看器或DOCX查看器。即使他们有一个,这些查看器的开发人员也不需要注册一个支持您使用的任何Intent
结构的
。由于您的Intent
不在您的问题范围内,因此我们无法评论对该Intent
的支持有多普遍或不常见
Android中是否有类似于iOS上的WKWebView的本机类,可以显示Word文档和PDF
如果“本机类”指的是“安卓SDK内置的Java类”,那么答案是“不是真的”。DOCX没有任何东西。安卓5.0+有一个PdfRenderer,但它是为使用安卓打印框架生成的PDF打印预览而设计的,无法呈现许多任意PDF
在iOS中,我可以使用WKWebView来显示各种文档的预览,特别是Word(.docx)文档和PDF文件
有开源和商业图书馆提供这一功能。我在2017年初离开
使用查看意图,我可以让Android在Adobe的viewer中打开PDF,但在安装之前,我会遇到一个例外,即无法找到查看文件类型的应用程序
这与“本地类”无关。Intent
由应用程序及其注册组件(在您的情况下是活动)处理
目前,Android开源项目(AOSP)中没有一款应用程序是PDF查看器或其他文档格式的查看器。任何给定的设备是否会有一个(如谷歌文档)将有所不同
Android中真的没有对如此普通的东西的本地支持吗
就应用程序而言,设备制造商无需预安装PDF查看器或DOCX查看器。即使他们有一个,这些查看器的开发人员也不需要注册一个支持您使用的任何
Intent
结构的
。由于您的Intent
不在您的问题中,因此我们无法真正评论对Intent
的支持有多普遍或不常见,因为我只是使用val I=Intent(Intent.ACTION\u VIEW)
,直到运行时我才知道文件格式是什么。感谢您的全面回答,即使PDF工作,一个简单的JPG也失败了。与WKWebView相比,Android的内置(通过SDK或作为ASOP的一部分)对常见文件类型的支持似乎是一种令人遗憾的状况。@MattLacey:“对于Intent,我只是使用val I=Intent(Intent.ACTION_VIEW)”——这对任何事情都不起作用,因为您没有指定要查看的内容。“即使PDF工作在一个简单的JPG上也失败了”——讽刺的是,基本图像格式是为数不多的普遍支持的东西之一,这表明你的问题可能会因为你构建意图
对象的方式而变得更加复杂。对不起,我只是想说,这就是我用来创建意图的东西。我正在使用文件提供程序指定内容URI,以及正确的MIME类型。对于Intent,我只使用val I=Intent(Intent.ACTION\u视图)
,直到运行时我才知道文件格式是什么。感谢您的全面回答,即使PDF工作,一个简单的JPG也失败了。与WKWebView相比,Android的内置(通过SDK或作为ASOP的一部分)对常见文件类型的支持似乎是一种令人遗憾的状况。@MattLacey:“对于Intent,我只是使用val I=Intent(Intent.ACTION_VIEW)”——这对任何事情都不起作用,因为您没有指定要查看的内容。“即使PDF工作简单