我想打开一个存储在Mobile内存中的pdf …
我正试图将文件的路径传递给Uri ..但它一直向我显示这个错误
“文件路径无效”
但我确信我正在走正确的道路..
我正试图将文件的路径传递给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);
解决方法
默认情况下,应用程序内部存储目录中的文件是应用程序的私有文件.这意味着没有PDF-Reader应用程序可以读取该文件(因为它不与您的应用程序pid一起运行 – 没有给出读取权限).
您必须使用其他应用的显式阅读权限保存该PDF
使用Context.MODE_WORLD_READABLE标志.请参阅data storage documentation如何做到这一点.
还可以使用Context.openFileOutput()
和Context.openFileInput()来读取和写入内部目录中的文件(如上面的文档中所述).不要硬编码这样的路径,它们可能会改变.