即使在寻求存储权限后也未创建目录

Directory is not being created even after seeking Storage permission

我只是想创建一个目录来寻求所需的权限,包括清单中的权限,但仍然没有创建目录。

下面是我的代码-

public class MainActivity extends AppCompatActivity {


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    if(haveStoragePermission()) {

        File new_folder = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS), "Images");
        if (!new_folder.exists()) {
            new_folder.mkdirs();
            boolean k=   new_folder.mkdirs();
         if (k)
         {
          Toast.makeText(this,"Directory created successfully",Toast.LENGTH_LONG).show();
         }
         else Toast.makeText(this,"Failed to create directory",Toast.LENGTH_LONG).show();

        }
        
    }


}

问题与文件下载无关。问题是您无权访问存储。请检查错误。

Caused by: android.system.ErrnoException: open failed: ENOENT (No such file or directory)

似乎无法创建文件。您可能需要检查您是否具有写入存储的权限。如果您不想请求该权限,您可以在内部存储中创建文件。

你应该这样称呼它

if(haveStoragePermission()) {
    DownloadTask downloadTask = new DownloadTask();
    downloadTask.execute("https://www.popwebdesign.net/popart_blog/wp-content/uploads/2018/01/tiny-png-panda.jpg");
}

问题出在 Android 10 个权限,这里在清单中寻求权限有点不同,我们需要在 [ 中添加以下行=19=]- android:requestLegacyExternalStorage="true" 如下所述-

<application>
android:requestLegacyExternalStorage="true" 
</application>