[英]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.