我正在尝试使用 PDF 阅读器打开我的 PDF 文件,我正在搜索更多关于如何做到这一点的信息,找到了很多答案,但每个答案都告诉我将该文件保存到“SD 卡”。
将文件保存到 SD 卡是个好主意,但问题是如果用户没有在他的手机中安装 SD 卡。目前很多手机都有大内存,例如:Samsung galaxy S3、HTC One V、Samsung Galaxy Note、Sony Xperia S 和许多手机。
所以我的问题是:这些手机已经有一个大的内置内存,所以用户不需要添加 SD 卡(这取决于用户)。在这种情况下,其他应用程序可以访问哪个位置,例如公共(public)位置(SD 卡)。
当我搜索我的问题时,我发现了这个 link说明保存由 Android 平台提供的应用程序数据的位置。
Android 平台提供了这些选项来保存应用数据:
- 共享偏好
- 内部存储
- 外部存储
- SQLite 数据库
- 网络连接
Android 提供了一种将私有(private)数据公开给其他应用程序的方法——使用内容提供程序
我阅读了有关内容提供程序的信息,但我不明白它是如何工作的。
如果任何教程展示了它是如何工作的,请提供该教程链接,或者如果可以通过其他方式完成,请告诉我如何操作。
任何帮助将不胜感激。谢谢!
最佳答案
根据documentation看来将 PDF 保存在公共(public)存储中的唯一实际选择是将其存储在外部存储中。您始终可以让您的应用程序检查外部存储是否可用,如果可用,则使用它来共享您的 PDF。
您可以尝试的另一种方法(我还没有尝试过,现在才想到)是将 PDF 写入临时文件,然后共享该临时文件的位置。
File.createTempFile()将创建一个临时文件。您可以尝试查看该临时文件的保存位置,然后查看其他应用是否可以访问该位置。
关于java - 将私有(private)数据保存到公共(public)位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11899067/