繁体   English   中英

无法在Android应用内打开pdf文档

[英]Cannot open pdf document within android app

我想知道任何人都可以帮助我解决我遇到的问题。 我看了很多相同问题的帖子,但我仍然无法解决这个问题。 我创建了一个PDF文档。 我已将创建的PDF文件放入我的res / raw文件夹(我也尝试放入assets文件夹),我试图在我的应用程序中打开它。 当我单击按钮时,它会打开我可以选择使用adobe reader,amazon kindle或polaris office完成操作的对话框。 但是当我尝试打开pdf时,我收到一条错误消息“文档无法打开,因为它不是有效的PDF文档”。

以下是我用来尝试打开pdf的代码,有没有人知道为什么这不起作用?

String fileName = "android.resource://" + getPackageName() + "/" + R.raw.user_manual_v1_0_0;            
File file = new File(fileName);

Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.setDataAndType(Uri.fromFile(file), "application/pdf");

startActivity(intent);

它不起作用,因为很少(如果有的话)PDF查看器设置为从资源打开PDF,没有人可以直接从资源中读取。

将文件复制到文件系统会更好。 如果将其复制到外部存储,则只需在其上打开PDF查看器即可。 如果将其复制到内部存储 - 默认情况下,将其复制到您的应用程序 - 您可以创建一个ContentProvider来向查看器提供PDF。 此示例应用程序演示了后一种方法。

请务必不要忘记应用访问外部文件的权限。 将这两行放在清单中:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM