Android 已弃用Environment.getExternalStorageDirectory()。如何创建新文件夹?

Android 已弃用Environment.getExternalStorageDirectory()。如何创建新文件夹?,android,local-storage,Android,Local Storage,在android Java上工作,最近将SDK更新为API级别29,现在显示了一条警告,指出 API级别29中不推荐使用Environment.getExternalStorageDirectory() 我的代码是 val wallpaperDirectory = File(Environment.getExternalStorageDirectory(), "NewFolder") wallpaperDirectory.mkdir() 如何在内部存储中创建新文件夹从API 29开始

在android Java上工作,最近将SDK更新为API级别29,现在显示了一条警告,指出

API级别29中不推荐使用Environment.getExternalStorageDirectory()

我的代码是

 val wallpaperDirectory = File(Environment.getExternalStorageDirectory(), "NewFolder")
    wallpaperDirectory.mkdir()

如何在内部存储中创建新文件夹从API 29开始,出于安全原因,他们不推荐使用此API。不过,您可以在上下文中访问这些api,然后它就可以工作了。不要使用环境。 参考:
有关相同的更多详细信息。

您可以通过迁移到其他选项来访问存储在共享/外部存储上的内容,例如
上下文#getExternalFilesDir(String)
媒体存储
、或
意图#操作(u OPEN)文档

阅读:-

检查此演示

void createExternalStoragePrivateFile() {
    // Create a path where we will place our private file on external
    // storage.
    File file = new File(getExternalFilesDir(null), "DemoFile.jpg");

    try {
       // your code
    } catch (IOException e) {
        // Unable to create file, likely because external storage is
        // not currently mounted.
        Log.w("ExternalStorage", "Error writing " + file, e);
    }
}

void deleteExternalStoragePrivateFile() {
    // Get path for the file on external storage.  If external
    // storage is not currently mounted this will fail.
    File file = new File(getExternalFilesDir(null), "DemoFile.jpg");
    file.delete();
}

boolean hasExternalStoragePrivateFile() {
    // Get path for the file on external storage.  If external
    // storage is not currently mounted this will fail.
    File file = new File(getExternalFilesDir(null), "DemoFile.jpg");
    return file.exists();
}

这回答了你的问题吗?此代码可以工作,但我不会在应用程序内部保存。因为当我删除应用程序时,文件也会删除