在Android应用程序中查看本地PDF文件

时间:2015-05-08 20:58:40

标签: android pdf

我正在尝试创建一个可让您查看存储的PDF的应用,就像一个简单的文件阅读器。

我正在使用导航抽屉项目基地,我似乎无法打开PDF。

我在资产中存储了测试PDF /我也尝试过raw /。如果我尝试使用assets /它会在我尝试在设备上打开PDF时崩溃,说"无法显示PDF(无法打开test.pdf)。

我尝试过几种方法尝试让它工作但没有一种方法占上风,这是我现在的代码:

public void onSectionAttached(int number){
    switch (number) {
        case 1:
            mTitle = getString(R.string.title_song);

            File pdfFile = new File("/assets/test.pdf");

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

            try
            {
                startActivity(intent);
            }
            catch(ActivityNotFoundException e)
            {
                Toast.makeText(MainActivity.this, "It didn't crash!", Toast.LENGTH_LONG).show();
            }



            break;

        case 2:
            mTitle = getString(R.string.title_artist);
            break;
    }


}

1 个答案:

答案 0 :(得分:1)

您正在开始查看文件的意图。意图是启动另一个应用程序。它无权查看您的资产,甚至您的私人文件。将其复制到有权从第一个文件读取文件的位置,或者您需要实现ContentProvider并为他们提供对文件的访问权。