Where is sdcard/Documents directory?

According to the latest Google policies, the access to Android storage is restricted. To create a shared (between apps) directory, the app is supposed to call:
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS);
which on all the platforms that I checked, including my phone SM-G960U (with API 30, lately updated) returns
/sdcard/Documents
The problem with SM-G960U though is that this directory does not exist. Instead I see
/sdcard/My\ Documents/
that probably serves the same purpose, but how to use it?
On all emulators that I used, everything works just fine.

Probably I did not make myself clear. Here it is again.
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS);
on all Android platforms returns:
/sdcard/Documents
which is the standard shared directory, where all apps can read and write without any restrictions.
But on Samsung, contrary to others, this directory does not exist.

Hi,
As we can see from the description that you can read the path of the directory of Samsung also.
So what problem you are facing right now? Are you unable to read/write the file in that path?
Please check the below code:

let me know whether it is worked for Samsung or not.

Thanks…

Hi.
I do not understand what you mean by ‘read the path of the directory of Samsung’, but basically my program works only on the older Samsung devices.
I have two, one is API 21 (22?) and the newer Samsung 9, API 30.
My program is ChessPad, its older version is on PlayStore. It access /sdcard directory and creates /sdcard/ChessPad/ when it starts. On the old Samsung when you download it, the system asks you if you allow the program to access storage and if you do not, it aborts the download.
On the new device it just let you download, but silently refuses to access /sdcard at all. The workaround would be:

  1. Go to Settings, select ChessPad, give it permission to access storage.
  2. Stop ChessPad.
  3. Re-launch ChessPad.

which is very cumbersome and not for an average user.
So the new version, available at https://github.com/ab-chesspad/ChessPad, works as before for API 29 and lower, but for the new APIs it creates /sdcard/Documents/ChessPad/ directory and works within its borders. It is possible because /sdcard/Documents/ is a ‘public’ directory and does not require permissions. The problem with Samsung, as I already reported, is that ChessPad is trying to create /sdcard/Documents/ along with /sdcard/Documents/ChessPad/ and it fails, because writing in /sdcard is not permitted.
The user still can use this workaround, but as I said already, this is not acceptable.
Here are the references:
Data and file storage overview  |  Android Developers
Use of All files access (MANAGE_EXTERNAL_STORAGE) permission - Play Console Help

Additional info:
My phone shows:
Knox version
Knox 3.4.1
Knox API level 30
TIMA 4.0.0

in debugger though I see:
android.os.Build.VERSION.SDK_INT=29

The rest stays the same. The program works on emulators with API 29-32 and does not on my SM-G960U.

and more…
Even if I create manually with adb /sdcard/Documents/ directory and add some files into it, the system does not allow me reading it.