麻烦将pdf存储在内部存储中并从adobe中查看

时间:2013-07-16 05:32:01

标签: android android-file

我已经在我的应用程序中创建了一个pdf文件并成功存储在sdCard中,现在我想将pdf存储在我的sdcard中,而不是存储在内部存储中,如图here所示,但当我打开pdf阅读器的意图时为:

Intent i = new Intent();
i.setAction(Intent.ACTION_VIEW);
Uri uri = Uri.fromFile(file);
Log.v("Path",file.getAbsolutePath()); // Path data/data/com.cloudchowk.his.patient/files/LIPID PROFILE1300000403.pdf
i.setDataAndType(uri, "application/pdf");
startActivity(i);

PDF阅读器显示错误The document path is not valid.

我在两个设备上试过这个,一个是根,一个不是,但它没有在任何一个上工作。我该怎么办 ?任何想法?

2 个答案:

答案 0 :(得分:0)

获取路径并创建URI

     File internalFile = getFileStreamPath("pdf path");
     Uri file = Uri.fromFile(internalFile);
     Intent i = new Intent();
     i.setAction(Intent.ACTION_VIEW);
     i.setDataAndType(file, "application/pdf");
     startActivity(i);

答案 1 :(得分:0)

要将内部存储中的文件提供给其他应用程序,最简洁的方法是使用内容提供程序。 幸运的是,Android附带FileProvider - 一个可能满足您需求的实现。 您不需要实现代码,只需在清单中指定提供程序即可。