将文件保存在/ Download下,其名称为/ storage / emulated / 0 / Download。有时文件无法访问

时间:2019-06-30 18:46:41

标签: android android-external-storage

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

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

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

此代码运行6年。当然,我添加了权限内容。

非常感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

您不能使用下载作为文件的保证存储位置。您应该为该应用使用内部存储。这就是Google关于下载文件夹的内容:

  

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

Here you can read进一步了解Android中的 内部 存储和 外部 存储。

Here is some more information关于Google的下载文件夹。

  

警告:如果用户卸下SD卡或将设备连接到计算机,则外部存储设备可能不可用。用户和其他具有READ_EXTERNAL_STORAGE权限的应用仍然对文件可见。因此,如果您的应用程序的功能取决于这些文件,或者您需要完全限制访问,则应该将文件写入 内部存储