js486dog defined SD Card as a little memory item that you insert!
Micro SD, Nano SD, whatever; it is NOT part of the device that you buy, it is an external memory card that you insert in order to have additional storage.
I have a Samsung Tab A (Android 5.1), Fusion5 (6.0) and Galaxy S8+ (7.0). All three have additional storage cards inserted. All three return a different folder with RuntimePermissions.GetAllSafeDirsExternal, but none of them are the additional storage card.
All three ultimately wind up at /Android/data/"packagename"/files, where I created a simple text file. Using an Android File Manager, when I look at the SD Card (external) under /Android/data, the folder is there, but not the file. When I look at Internal Storage under /Android/data, the folder also exists and the file is there also. I can delete the folder in both places, run my test program again and the same two folders are created but the file is ONLY in internal storage.
Ed Sharp
UPDATE:
In runtimepermissions documentation:
GetAllSafeDirsExternal (SubFolder As String) As String()
... On older versions only one folder will be returned.
I never checked but just used list.get(0). In fact, this permission returns two (2) folders. The first one is internal memory, the SECOND one points to the External SD Card. Test program puts the test file on the SD card now.
My apologies.