gpt4 book ai didi

java - 在哪里保存PDF文件以使用外部应用程序打开

转载 作者:行者123 更新时间:2023-11-29 23:06:42 24 4
gpt4 key购买 nike

我需要创建一个应用程序,通过外部应用程序打开选定的 PDF 文件。

我已经尝试将所有文​​件放在 Assets 文件夹中,但我没有找到一种方法来创建将从 Assets 文件夹中读取的文件提供程序。我更喜欢不需要复制文件的解决方案(因此不会占用双倍内存)。我应该把 Pdf 文件放在哪里(在开发阶段)?有没有办法在安装阶段将它们复制到内部/外部存储(这样它们就不会在 Assets 文件夹中)?我该怎么办?

最佳答案

I didn't find a way to create a file-provider that will read from the assets folder

My StreamProvider这样做。

is there a way to copy them to internal/external storage in the installing phase (so they won't be in the assets folder)?

没有。首先,没有普通文件从 APK 复制到文件系统上的文件中。其次,APK 本身在安装时不会被修改——这样做会使数字签名无效。

what should I do?

选项 #1:不要将 PDF 与您的应用打包在一起。相反,下载它。

选项 #2:不使用 PDF,而是使用 HTML/CSS/JS,并使用 WebView 渲染资源

选项 #3:使用我的 StreamProvider

选项 #4:创建您自己的 ContentProvider,它可以直接从 assets 提供服务(this sample app 很粗糙,但说明了技术)

选项 #5:不要担心磁盘空间,将 Assets 复制到内部存储上的文件(例如,getCacheDir()),然后使用 FileProvider

关于java - 在哪里保存PDF文件以使用外部应用程序打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56429314/

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