Android:无法确保目录

标签 android storage

我一直在使用“Environment.getExternalStorage()”来存储和管理文件。 logcat 没有使用该方法发出警告消息,并且工作得很好。

但是,我的项目需要使用方法“Context.getExternalFilesDir(String type)”并且有警告信息

ContextImpl:Failed to ensure directory: /storage/external_SD/Android/data/(package name)/files

幸运的是 File 对象可以正常工作(读取或写入或制作文件夹也可以)。

但我想知道如何解决该警告消息。我错过了什么吗?

最佳答案

您应该知道警告消息是如何出现的。

getExternalFilesDir(String type) 将调用 getExternalFilesDirs(String type)(注意第二个方法名称末尾的“s”)。

getExternalFilesDirs(String type)会查找该类型的所有目录,最后调用ensureDirsExistOrFilter()确保目录存在。

如果无法访问该目录,它将打印警告!

Log.w(TAG, "Failed to ensure directory: " + dir);
dir = null;

因此,如果您的设备有两个 sdcard 路径,它将产生两个目录。如果一个不可用,则会出现警告。

结论是警告不需要修复。

关于Android:无法确保目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33362620/

相关文章:

java - Android - 多个 Activity 重启的并发问题

java - 为什么我的 android Activity 偶尔会崩溃并显示 "No adapter attached; skipping layout"?

android - Android 3.1 上 ViewPager 的替代品

android - AndroidTest 拒绝访问外部存储的权限

svn - 在SVN中存储二进制文件的方法

linux - 存储守护进程下载的文件

java - json 数组遇到问题

java - 如何从 BackStack 导航到现有的 Fragment?

bash——在运行之间存储变量的更好方法?

version-control - 二进制增量存储