gpt4 book ai didi

android - 如何从 res/raw 文件夹打开 PDF 文件?

转载 作者:搜寻专家 更新时间:2023-11-01 08:06:45 25 4
gpt4 key购买 nike

我正在编写一个应用程序,当您单击一个按钮时它会打开一个 pdf 文件。下面是我的代码:

File pdfFile = new File(
"android.resource://com.dave.pdfviewer/"
+ R.raw.userguide);
Uri path = Uri.fromFile(pdfFile);
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.setDataAndType(path, "application/pdf");

startActivity(intent);

但是,当我运行它并按下按钮时,它显示“无法打开文档,因为它不是有效的 PDF 文档”。这让我发疯。我是否正确访问文件?有任何想法吗?谢谢

最佳答案

您必须将 pdf 从 assets 文件夹复制到 sdcard 文件夹。

.....
copyFile(this.getAssets().open("userguide.pdf"), new FileOutputStream(new File(getFilesDir(), "yourPath/userguide.pdf")));

File pdfFile = new File(getFilesDir(), "yourPath/userguide.pdf"); Uri path = Uri.fromFile(pdfFile);
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.setDataAndType(path, "application/pdf");

startActivity(intent);


}

private void copyFile(InputStream in, OutputStream out) throws IOException {
byte[] buffer = new byte[1024];
int read;
while((read = in.read(buffer)) != -1){
out.write(buffer, 0, read);
}
}

关于android - 如何从 res/raw 文件夹打开 PDF 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13517412/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com