无法使用 mkdirs() 创建目录 - android

Pro*_*roz 2 android file mkdir mkdirs

我尝试创建一个目录并使用以下代码:

boolean success = true;
String rootDirectory = Environment.getExternalStorageDirectory().toString();
folder = new File(rootDirectory, "Directory");
if(!(folder.exists())) {
     success = folder.mkdirs();
} else {

}

if(success) {
   Toast.makeText(getActivity().getApplicationContext(), "DIR created", Toast.LENGTH_SHORT).show();     
} else {
     Toast.makeText(getActivity().getApplicationContext(), "DIR not created successfully", Toast.LENGTH_SHORT).show();
}
Run Code Online (Sandbox Code Playgroud)

我还搜索了创建的文件夹,但没有。

授予权限:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Run Code Online (Sandbox Code Playgroud)

我还尝试在运行时请求许可,似乎该应用程序已获得许可,因此不可能是问题。

几个月前,我创建了另一个应用程序并使用了相同的代码和相同的 Sdk 版本,但它仍然不适用于这个应用程序。我收到“未成功创建 DIR”,但不知道为什么,请帮我找出无法创建目录的原因。

Jar*_*ček 5

Manifest.permission.WRITE_EXTERNAL_STORAGE对于 Android 10+ 来说,要求是不够的。现在,您还可以在清单中启用对旧外部存储的访问:

<application
    android:requestLegacyExternalStorage="true"
    ...
Run Code Online (Sandbox Code Playgroud)