I motivi per cui da Android 4 in poi non è consentito scrivere sulla vera SD è che non si fidano dell'utente e temono che faccia pasticci. Questo è quello che ho letto, se ben ricordo.
Conoscevo il codice da te segnalato. Esso restituire, nel mio caso :
Memorizzando queste due righe in un array pp() ed eseguendo le seguenti 2 istruzioni
File.MakeDir (File.DirDefaultExternal, pp(0) & "/uno")
File.MakeDir (File.DirDefaultExternal, pp(1) & "/due")
non viene creata nella vera SD nè la cartella "uno" nè la "due", sia utilizzando File.DirDefaultExternal che File.DirRootExternal.
Le due cartelle vengono create la "uno" in /sdcard/storage/emulater/0/Android/data/alpvir.taccuino/files. e la "due" in /sdcard/storage/MicroSD/Android/data/alpvir.taccuino/files.
Non mi sembra, detto senza ironia, la stessa cosa.
Non ho ben chiaro come Android organizzi il file system e le cartelle per cui continuo a pensare di non essere in grado di accedere alla vera SD.