如何在安卓设备中打开本地PDF文件?

4
我需要在我的安卓应用中展示一个本地的pdf文件,这个pdf文件需要被包含在我的应用程序包中。我已经有了这个文件,但是我不知道如何构建一个File类。
public void loadreglamento(View v){
        //Im supposed to give a path with the file but I really dont know how
        Uri path = Uri.fromFile(file);
        Intent intent = new Intent(Intent.ACTION_VIEW);
        intent.setDataAndType(path, "application/pdf");
        intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        startActivity(intent);

    }

这段代码对我来说是可以的,我不在乎用户是否使用外部查看器或编辑器查看文档。

我还需要知道在哪里复制PDF文件。

提前致谢。


https://dev59.com/NOo6XIcBkEYKwwoYFQLr#30549924 - CommonsWare
1个回答

0

首先回答你的问题:“如何构建一个文件类?”

以下是一个简单的例子。

File myFile = new File("Your any type of file url");

你还应该阅读有关 File 类的 Android 开发人员参考,其中提供了创建文件的各种构造函数的信息。
但是要创建文件,您需要提供 PDF 文件的 URL。由于您想将 PDF 文件包含在应用程序包中,因此无法使用静态 URL 访问它。
有两种方法可以将文件包含在应用程序包中:
1.资源:通过将文件包含在资源中,您可以使用其 ID 访问它们。 2.资产:通过将文件包含在资产中,您可以使用 Asset Manager 访问它们。
在您的情况下,我建议使用资产方法。
除非您的代码具有 PDF 阅读功能,否则无法直接从上述方法打开 PDF 文件。
因此,要解决问题,您首先需要将 PDF 文件从资产复制到 SD 卡或内部存储器上的某个位置,然后才能访问该文件。以下是 Sunil 在 Stack Overflow 上通过首先复制 PDF 文件来读取 PDF 文件的解决方案: 从资产文件夹读取 pdf 文件 希望这可以帮助您。愉快的编程!

感谢您完整准确的回答。 - Karlo A. López

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接