Einzelnen Beitrag anzeigen

nikosophi

Registriert seit: 8. Mai 2013
Ort: Weilerswist
45 Beiträge
 
Delphi 11 Alexandria
 
#1

Name der SDKarte unter Android ermitteln

  Alt 10. Sep 2021, 09:17
Hallo zusammen,

das Thema ist mit Android 11 nicht neu. Ich habe aber noch keine funktionierende Lösung gefunden.

Es geht "einfach" nur darum den Namen der externen SDKarte zu ermitteln. Tools, wie Totalcommander etc. können das und können darauf sogar schreiben.

Mit:

Delphi-Quellcode:
      sArr := system.ioutils.TDirectory.GetDirectories('/storage/6172-079C');
      Say ( 'Anzahl: '+inttostr(length(sArr)) );
      for i := 0 to length(sArr)-1 do begin
        Say ( inttostr(i)+': '+' '+sArr[i] );
      end;
funktioniert es prima. Rechte sind also da.

ABER: der Name "6172-079C" (aus diesem Beispiel) ist irgendwie nicht zu ermitteln.

Folgendes habe ich versucht:

Delphi-Quellcode:
        cBuf := GetExternalStorageDirectory; // abgekündigt
        Say ( 'GetExternalStorageDirectory: '+cBuf ); // => /storage/emulated/0
Delphi-Quellcode:
          cBuf := GetExternalFilesDir;
          Say ( 'GetExternalFilesDir: '+cBuf ); // => /storage/emulated/0/Android/data/$Appname$/cache
Delphi-Quellcode:
          cBuf := GetSysSecondaryStorage;
          Say ( 'GetSysSecondaryStorage: '+cBuf ); // => /sdcard
dann mit sArr := system.ioutils.TDirectory.GetDirectories('/storage/sdcard');
gibt es aber wieder nur die internen Daten.

Also, wenn man den Namen weiß und einfach verwendet, werden die Daten auf der SD-Karte aufgelistet.
Der Name kommt aber mit keiner mir bekannten Funktion zurück.

Ich verwende Delphi 10.4 Update 2
Android 11 Sicherheitspatch 1.August 2021 auf Samsung S20

Hiermit bin ich auch nicht weitergekommen:
https://www.delphipraxis.net/207119-...te-heraus.html
http://cc.embarcadero.com/Item/30158


Hat jemand eine Idee?
  Mit Zitat antworten Zitat