即使在寻求存储权限后也未创建目录
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>
我只是想创建一个目录来寻求所需的权限,包括清单中的权限,但仍然没有创建目录。
下面是我的代码-
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>