gpt4 book ai didi

java - 使用Intent打开本地PDF文件

转载 作者:行者123 更新时间:2023-12-01 11:17:11 25 4
gpt4 key购买 nike

在网上查了好久没找到解决办法!

在我的项目中,我将一个 PDF 文件放入了可绘制文件夹中(老实说,我不知道还能把它放在哪里)。该 PDF 是一个菜单,向用户显示他可以在该餐厅找到的所有食物。有一个按钮使用户能够打开该 PDF 文件。通过单击它,我收到一条错误消息。或多或少它说应用程序无法归档我的文件:“Impossibile to open menuristorante.pdf”。

我创建了一个打开该文件的方法,这是我编写的代码:

public void openMenuRistorante(View view)
{
File pdfFile = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/menuristorante.pdf");
Uri path = Uri.fromFile(pdfFile);
Intent pdfIntent = new Intent(Intent.ACTION_VIEW);
pdfIntent.setDataAndType(path, "application/pdf");
pdfIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
try{
startActivity(pdfIntent);
}catch(ActivityNotFoundException e){
Toast.makeText(this, "Nessuna Applicazione per leggere i pdf", Toast.LENGTH_SHORT).show();
}
}

可能我把文件放在错误的目录中是错误的。但是我该把它放在哪里呢?请记住,我的 PDF 文件必须已经存在于应用程序中,因此当用户安装此应用程序时它必须位于手机内。

谢谢

最佳答案

将 PDF 文件放入 assets 文件夹中并尝试使用以下代码:

Uri file= Uri.parse("file:///android_asset/mypdf.pdf");
String mimeType = MimeTypeMap.getSingleton().getMimeTypeFromExtension(MimeTypeMap.getFileExtensionFromUrl(file.toString()));

try {
Intent i;
i = new Intent(Intent.ACTION_VIEW);
i.setDataAndType(file,mimeType);
startActivity(i);

} catch (ActivityNotFoundException e) {
Toast.makeText(this,
"No Application Available to view this file type",
Toast.LENGTH_SHORT).show();
}

关于java - 使用Intent打开本地PDF文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31674328/

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