![]() |
Name der SDKarte unter Android ermitteln
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:
funktioniert es prima. Rechte sind also da.
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; 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:
dann mit sArr := system.ioutils.TDirectory.GetDirectories('/storage/sdcard');
cBuf := GetSysSecondaryStorage;
Say ( 'GetSysSecondaryStorage: '+cBuf ); // => /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: ![]() ![]() Hat jemand eine Idee? |
AW: Name der SDKarte unter Android ermitteln
File-Explorer haben da andere Berechtigungen, die einer normalen App verwehrt bleiben. Ich hätte da auch gerne eine Lösung.
|
AW: Name der SDKarte unter Android ermitteln
Delphi ist ja soo toll. Nur die einfachen Dinge funktionieren nicht!
Ich habe nun ein Text Edit in den Einstellungen gemacht. So kann der Anwender dort seine Kartennummer eintragen. Echt traurig! |
AW: Name der SDKarte unter Android ermitteln
Bitte nicht die durch die Entwickler der Plattform verursachten Probleme auf das Entwicklungstool schieben!
Ja, Android Scopedstorage ist auch meiner Meinung nach doof, aber Delphi kann nichts dafür, dass für bestimmte Aktionen spezielle Berechtigungen benötigt werden, die Google nur Dateimanagern o.ä. zugesteht! |
AW: Name der SDKarte unter Android ermitteln
Na, ich lerne ja gerne hinzu.
Wo stelle ich denn in Delphi ein, daß meine App ein Dateimanager wird? |
AW: Name der SDKarte unter Android ermitteln
Suche Mal wo man die von der Anwendung angeforderten Berechtigungen in den Projektoptionen einstellt.
Aber: soll die App in den Store, wird Google prüfen, ob deine App sowas wie ein Dateimanager ist. Wenn nicht wird sie abgelehnt. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz