首页 > 解决方案 > 在 /Download 下保存文件的名称为 /storage/emulated/0/Download。有时文件不可访问

问题描述

在我的三星设备上,我在/Download文件夹中放置了一个文件。当我在我的应用程序中(通过文件浏览器)选择文件时,该文件称为/storage/emulated/0/Download/myfile.db. 此名称存储在我的应用程序设置中。

在应用程序启动时,应打开该文件。首先,应用程序检查文件是否存在。在某些情况下,比如每两周一次,文件不存在!这也发生在我朋友的手机半年以来。

为什么会这样?多年来,一切顺利。

此代码运行 6 年。当然,我添加了权限的东西。

非常感谢您的帮助!

标签: androidandroid-external-storage

解决方案


您不能将“下载”用作文件的有保证的存储位置。您应该为应用程序使用内部存储。这是谷歌写的关于下载文件夹的内容:

这个空间被称为外部空间,因为它不能保证是可访问的——它是一个用户可以作为外部存储设备安装到计算机上的存储空间,它甚至可以在物理上是可移动的。

在这里,您可以阅读更多有关Android 中的内部存储和外部存储的信息。

以下是有关Google下载文件夹的更多信息。

注意:如果用户移除 SD 卡或将设备连接到计算机,外部存储可能会变得不可用。并且这些文件对用户和其他具有 READ_EXTERNAL_STORAGE 权限的应用程序仍然可见。因此,如果您的应用程序的功能依赖于这些文件,或者您需要完全限制访问,您应该将文件写入内部存储


推荐阅读