无法将文件添加到 Android 10 的特定文件夹位置

Cannot add file to specific folder location for Android 10

我正在尝试创建一个 PDF 文件并将其添加到 android phone 的内部存储中。我想在应用程序数据文件夹之外为我的应用程序创建一个目录,以便 phone 用户可以从其文件系统应用程序访问它。

我用来创建文件夹的代码如下:

 File myDir = new File(getContext().getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS), "MyApp");
        if(!myDir.exists()) {
            myDir.mkdir();
        }
        File file = new File(myDir, customer+"_"+date+".pdf");

请问我该如何解决这个问题?

好的,这段代码让我把文件保存在这个位置 “/storage/emulated/0/Android/data/com.示例。myapplication/files/Download/MyApp”

我想把它移到/storage/emulated/0/MyApp

我曾经写过这段代码,但现在 'getExternalStorageDirectory' 已被弃用

File externalStorageDirectory = Environment.getExternalStorageDirectory();
File dir = new File(externalStorageDirectory, "MyApp"); 
if (!dir.exists()) { 
    dir.mkdir(); 
}

我没有尝试以下代码,但我之前在一个应用程序中使用过它们:

String path = new File(Environment.getExternalStorageDirectory() + "/My Folder").getPath();
createNewFolder ( path );

createNewFolder 方法创建文件夹并在创建时显示一个 toast,如果文件夹名称已存在则显示另一个 toast:

private void createNewFolder(String path)
    {
        File file = new File(path);
        if (!file.exists()) {
            file.mkdir();
            Toast.makeText( context , "Folder created" , Toast.LENGTH_SHORT).show();
        } else {
            Toast.makeText( context , "Folder already exists" , Toast.LENGTH_SHORT).show();
        }
    }