gpt4 book ai didi

android - 如何打开存储在内存中的 PDF

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:06:15 25 4
gpt4 key购买 nike

我有一个应用程序可以下载 PDF 文件并使用 MODE_PRIVATE(出于安全目的)将其存储在应用程序的内部存储器中:

FileOutputStream fos = getApplicationContext().openFileOutput(LOCAL_FILE_NAME, Context.MODE_PRIVATE);

InputStream inputStream = entity.getContent();
byte[] buffer = new byte[1024];
int bufferLength = 0;

while((bufferLength = inputStream.read(buffer)) > 0) {
fos.write(buffer, 0, bufferLength);
}

fos.close();

如何打开和显示下载的 PDF 文件?我一直在 StackOverflow 中搜索,但没有找到明确的解决方案。

看来问题是Android不支持打开PDF文件,所以我认为有两种选择:

  1. 使用一些外部库来显示 PDF 文件。有什么好用的吗?

  2. 启动一个 Intent 来显示 PDF 文件,但存储为 MODE_PRIVATE 的文件似乎无法被外部应用程序打开。我找到了一些将文件复制到外部存储器然后启动 Intent 的解决方案,但是这个过程破坏了 MODE_PRIVATE 选项的安全目的,对吧?

感谢阅读

最佳答案

How can I open and display the downloaded PDF file?

创建一个 ContentProvider 来提供 PDF 文件,然后使用 ACTION_VIEW IntentUri 到您的ContentProvider 在用户选择的 PDF 查看器中打开它。

This sample project演示如何从内部存储提供 PDF 文件。

关于android - 如何打开存储在内存中的 PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14327343/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com