我已经在我的应用程序中创建了一个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.
我在两个设备上试过这个,一个是根,一个不是,但它没有在任何一个上工作。我该怎么办 ?任何想法?
答案 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 - 一个可能满足您需求的实现。 您不需要实现代码,只需在清单中指定提供程序即可。