如何在 android 中打开本地 PDF?

How to open a local PDF in android?

我需要在我的 android 应用程序中显示一个本地 pdf,这个 pdf 需要包含在我的应用程序包中,我有这个但我不知道如何构建 File class.

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);

    }

这段代码对我来说没问题,我不在乎如果用户在外部看到文档 viewer/editor。

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

提前致谢。

第一个回答你问题的人:"How to build a File class?"

下面是一个简单的例子。

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

您还应该阅读 Android 文件开发人员参考 class,其中提供了有关创建文件的各种构造函数的信息。

但要创建文件,您需要提供 PDF 文件的 URL。由于您想将 PDF 文件包含到您的应用程序包中,因此您无法使用静态 URL.

访问它

有两种方法可以将您的文件包含在应用程序包中:

  1. 资源:通过将文件包含在您的资源中,您可以使用它们的 ID 访问它们。

  2. 资产:通过将文件包含在您的资产中,您可以使用资产管理器访问它们。

对于你的情况,我建议使用资产方法。

您无法通过上述方法直接打开 PDF 文件,除非您的代码具有 PDF 阅读功能。

所以要解决您的问题,您首先需要将您的 PDF 文件从 Assets 复制到 SD 卡或内部存储上的某个位置,然后您就可以访问该文件。 这是一个通过先由 Sunil 在 Stack Overflow 复制它来读取 PDF 文件的解决方案:

Read a pdf file from assets folder

希望对您有所帮助。快乐编码。