Wenn ich deinen Code richtig interpretiere, geht es dir um Android, richtig? Da kommt es dann auch noch auf die Android-Version an. Mittlerweile benötigt man hier den requestLegacyExternalStorage-Eintrag in AndroidManifest_template.xml:
Code:
<?
xml version="1.0" encoding="utf-8"?>
<!-- BEGIN_INCLUDE(manifest) -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="%
package%"
android:versionCode="%versionCode%"
android:versionName="%versionName%"
android:installLocation="%installLocation%">
<uses-
sdk android:minSdkVersion="%minSdkVersion%" android:targetSdkVersion="%targetSdkVersion%" />
<%uses-permission%>
<uses-feature android:glEsVersion="0x00020000" android:required="True"/>
<application android:persistent="%persistent%"
android:restoreAnyVersion="%restoreAnyVersion%"
android:label="%label%"
android:debuggable="%debuggable%"
android:largeHeap="%largeHeap%"
android:icon="%icon%"
android:theme="%theme%"
android:hardwareAccelerated="%hardwareAccelerated%"
android:resizeableActivity="false"
android:requestLegacyExternalStorage="true">
Sonst hast du schon mal keine Berechtigung andere Verzeichnisse abzufragen.
Ab Android 11 soll dies nochmals komplizierter werden, konnte ich aber bisher noch nicht verifizieren, bei meinem Samsung S10 mit Android 11 sieht alles noch gut aus.
Ansonsten ermittele ich die SD-Karten-Verzeichnisse für Android gänzlich anders, also falls es weiterhin nicht geht, kurze Info, dann suche ich den Code dafür auch noch raus.