读取存储在内部存储器中的pdf(文件路径无效)

Reh*_*ham 6 pdf android path internal

我想打开一个存储在Mobile内存中的pdf ...我正在尝试将文件的路径传递给Uri ..但它一直向我显示此错误"文件路径无效"但我确定我正在走正确的道路..

    targetFile=new File("/data/data/package Name/app_mydir/test.pdf");

            }

        Intent intent;
        intent = new Intent(Intent.ACTION_VIEW);
        intent.setDataAndType(Uri.fromFile(targetFile), "application/pdf");


               startActivity(intent);
Run Code Online (Sandbox Code Playgroud)

小智 7

默认情况下,应用程序内部存储目录中的文件是应用程序的私有文件.这意味着没有PDF-Reader应用程序可以读取该文件(因为它不与您的应用程序pid一起运行 - 没有给出读取权限).

您必须使用该Context.MODE_WORLD_READABLE标志保存具有其他应用程序的显式读取权限的PDF .请参阅数据存储文档,了解如何完全执行此操作.

还可以使用Context.openFileOutput()Context.openFileInput()读取和写入内部目录中的文件(如上面的文档中所述).不要硬编码这样的路径,它们可能会改变.


Udo*_*eld 1

检查输出

targetFile.exists();

如果返回 true 那么你就可以继续了,否则你的路径就会出现问题。