java - 我们如何从firebase下载android studio中的文件(pdf),使其不会出现在手机的内部存储中?

标签 java android

我正在开发一个应用程序,我需要从 firebase 存储下载 pdf 文件并将其存储在应用程序中(我正在开发的应用程序),并且这些文件不应该被我的应用程序外部的用户访问。我使用 Firebase 代码进行下载开发,但即使更改目标目录后,它也会在移动设备的下载文件夹中下载。

最佳答案

现在,Android 设备中有两种存储类型:内部外部

根据 Android 文档:

内部存储:

  • 它始终可用。

  • 此处保存的文件只能由您的应用访问。

  • 当用户卸载您的应用时,系统会从内部存储中删除您应用的所有文件。

外部存储:

  • 它是世界可读的,因此保存在此处的文件可能会在您的控制之外被读取。

  • 它并不总是可用,因为用户可以将外部存储安装为 USB 存储,并在某些情况下将其从设备中删除。

  • 当用户卸载您的应用时,仅当您将应用的文件保存在 getExternalFilesDir() 的目录中时,系统才会从此处删除它们。

外部存储是存放不需要访问限制的文件以及想要与其他应用共享或允许用户通过计算机访问的文件的最佳位置。

当您想确保用户或其他应用程序都无法访问您的文件时,内部存储是最好的选择。

要获取应用程序的内部存储路径:

getFilesDir()

这将为您提供一个文件,表示文件系统上与您的应用唯一关联的目录。

希望对你有帮助!

来源:Save files on device storage

编辑:

如果您希望从 Firebase 存储下载的文件仅对您的应用可见,则应将该文件从下载移至内部存储,然后从下载中删除该文件

关于java - 我们如何从firebase下载android studio中的文件(pdf),使其不会出现在手机的内部存储中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56942327/

相关文章:

java - 从 native 代码访问 DoubleBuffer

java - 守护线程比普通线程轻吗?

java - Gradle 内部 slf4j 与我自己的 slf4j 依赖项冲突

java - 无法在 ItemStreamReader open 方法中 Autowiring 对象

java - MenuInflater 不工作 R 无法解析为变量

java - 如何显示弹出pdf文件而不是使用java内部保存?

android - 从没有镜像的相机录制视频,就像 snapchat

android - 应用太大?无法执行 dex : Cannot merge new index into a non-jumbo instruction

java - 如何用动画平滑填充进度条

java - 面临主要 Activity 困难