如何打开保存在内部存储中的pdf文件

如何解决如何打开保存在内部存储中的pdf文件

我正在尝试打开一个存储在内部存储器中但无法查看的 pdf 文件。下面是我将文件保存在内部存储中的代码片段。

try (FileOutputStream fos = openFileOutput("demo.pdf",Context.MODE_PRIVATE)) {
     fos.write(inputStream.read(buffer));
}

打开pdf文件代码

File file = new File(getFilesDir(),"demo.pdf");
Uri fileUri= FileProvider.getUriForFile(getApplicationContext(),getPackageName() + ".opener.provider",file);
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(photoURI,"application/pdf");
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
startActivity(intent);

opener_path.xml:

<paths xmlns:android="http://schemas.android.com/apk/res/android">
      <files-path name="files" path="." />
      <cache-path name="cache" path="." />
      <external-files-path name="external-files" path="." />
      <external-cache-path name="external-cache" path="." />
      <external-path name="external" path="." />
</paths>

在 AndroidManifest.Xml 中

<provider
        android:authorities="${applicationId}.opener.provider"
        android:exported="false"
        android:grantUriPermissions="true"
        android:name="com.demo.fileopener2.FileProvider">
        <Meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/opener_paths" />
</provider>

任何帮助将不胜感激。谢谢

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?