我无法访问模拟器上的外部存储目录。我的应用程序具有读/写外部存储权限(Marshmallow上的模拟器),但是使目录失败。我查看了Device Monitor,发现sdcard
文件夹不存在于我期望的位置。我错过了什么或者我的模拟器是否已损坏?
代码I用于创建目录。 madeDir
始终显示为false(并且mkdirs()
行始终运行)。
//Create directory if it doesn't exist
String path = Environment.getExternalStorageDirectory() + "/" + "MyApp/";
// Create the parent path
File dir = new File(path);
boolean madeDir = false;
if (!dir.isDirectory()) {
madeDir = dir.mkdirs();
}
是的,我有外部存储权限,与Marshmallow兼容。我的模拟器上的设置确认它们在那里。我进行以下调用并处理结果。
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, requestCode);
更新:我收到此错误 后我收到了权限。我可以反复尝试并得到同样的错误。如果我重启我的应用程序,一切正常。我很困惑。