从资源文件夹中读取 PDF 文件
问题:
在 Android 应用程序中,尝试使用提供的代码从资产文件夹中读取 PDF 文件会导致错误消息“文件路径无效。”
代码:
相关代码部分如下:
<code class="java">File file = new File("android.resource://com.project.datastructure/assets/abc.pdf"); Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(Uri.fromFile(file), "application/pdf"); startActivity(intent);</code>
解决方案:
问题在于提供给 File 对象的路径。正确的路径应该使用 getAssets() 从资源文件夹中检索 PDF 文件。
<code class="java">AssetManager assetManager = getAssets(); InputStream in = assetManager.open("abc.pdf"); OutputStream out = openFileOutput("abc.pdf", Context.MODE_WORLD_READABLE); // Copy PDF file to internal storage copyFile(in, out); // Create Intent and URI for file in internal storage Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(Uri.parse("file://" + getFilesDir() + "/abc.pdf"), "application/pdf"); startActivity(intent);</code>
附加说明:
以上是为什么我的 Android 应用程序在尝试从资源文件夹读取 PDF 时会抛出'文件路径无效”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!