Java 为什么我的File.mkdirs()总是返回false?
下面是本指南中给出的代码片段。以下几行(特别是以下几行中最后一个Java 为什么我的File.mkdirs()总是返回false?,java,android,file,android-external-storage,mkdirs,Java,Android,File,Android External Storage,Mkdirs,下面是本指南中给出的代码片段。以下几行(特别是以下几行中最后一个if块)出现问题: File mediaStorageDir = new File(Environment.getExternalStoragePublicDirectory( Environment.DIRECTORY_PICTURES), "MyCameraApp"); // This location works best if you want the created images to
if
块)出现问题:
File mediaStorageDir = new File(Environment.getExternalStoragePublicDirectory(
Environment.DIRECTORY_PICTURES), "MyCameraApp");
// This location works best if you want the created images to be shared
// between applications and persist after your app has been uninstalled.
// Create the storage directory if it does not exist
if (! mediaStorageDir.exists()){
if (! mediaStorageDir.mkdirs()){
Log.d("MyCameraApp", "failed to create directory");
return null;
}
}
问题是返回null始终执行上面代码段中的代码>
这意味着mediaStorageDir.mkdirs()
始终返回false
问题是为什么以及我能做些什么来修复它?您已经设置了
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
在清单文件中?@Solace您的targetSdk是什么?如果目录作为well@Solace如果添加运行时权限,它将有助于确保您在android清单文件中具有写入权限否,我只有
write\u EXTERNAL\u STORAGE
您可能需要这两种权限。试试看,你不需要两者兼而有之。您具有写入权限,读取权限为“内置”