![]() |
Android SD-Kartenzugriff
Hallo,
seit geraumer Zeit versuche ich vergeblich, in einer Android-App das SD-Kartenverzeichnis zu finden und dort hin Dateien zu schreiben. Mit
Delphi-Quellcode:
lList := System.IOUtils.TDirectory.GetDirectories('/storage/');
bekomme ich unter anderen auch den Pfad zur SD-Karte (auf meinem Handy in dem Fall '/storage/34AD-43FD') aber dann dort eine Datei zu speichern
Delphi-Quellcode:
fn := lList[i] + PathDelim + 'test.txt';
führt zu Fehlermeldungen. Die App hat die Berechtigungen zum Lesen und Schreiben der SD-Karte. Was ist hier falsch? Ciao Stefan |
AW: Android SD-Kartenzugriff
|
AW: Android SD-Kartenzugriff
Ja, kenne ich, hilft aber nicht weiter!
mit
Delphi-Quellcode:
lList := System.IOUtils.TDirectory.GetDirectories('/sdcard');
bekomme ich die Pfade angeblich der SD-Karte, in diese Pfade kann ich schreiben, nur wenn ich die geschriebenen Daten dann suche finde ich sie mit Eigene Dateien im Gerätespeicher (strorage/emulated/0)! Es kann doch nicht so schwer sein, die SD-Karte zu finden, dort hinein ein Verzeichnis zu erzeugen und darin Dateien zu lesen und zu schreiben??? Ciao Stefan |
AW: Android SD-Kartenzugriff
Du kannst ja mal die
![]() |
AW: Android SD-Kartenzugriff
Danke für den Tip!
Folgende Testfunktion:
Delphi-Quellcode:
'/storage/34AD-43FD'...uses Androidapi.IOUtilsEx; procedure TForm1.Button3Click(Sender: TObject); var dir: string; fn: string; begin dir := GetExternalSDCardDirectory; showmessage(dir); showmessage(GetSysExternalStorage); if isExternalStorageWritable then showmessage('beschreibbar') else showmessage('readonly'); fn := dir + PathDelim + 'test.txt'; Memo1.Lines.LoadFromFile(fn); CreateDir(dir + PathDelim + 'testdir'); end; '/sdcard' 'beschreibbar' und eine dort liegende Datei test.txt kann ich lesen, habe also die SD-Karte gefunden! Aber ich kann kein Verzeichnis erstellen: der Code läuft ohne Fehlermeldung im Debugger durch aber das Verzeichnis entsteht nicht! Hat jemand eine Idee dazu? Ciao Stefan |
AW: Android SD-Kartenzugriff
Kanst du denn jetzt damit Files in bestehende Directories schreiben,
und nur noch keine neuen Directories anlegen ? |
AW: Android SD-Kartenzugriff
Lesen ja, schreiben nein, 'permissions denied' als Fehlermeldung.
Ich bin nahe der Verzweiflung, so ein bisschen SD-Kartenzugriff kann doch nicht so schwer sein?! Ciao Stefan |
AW: Android SD-Kartenzugriff
Soweit ich gelesen hatte sperrt Kitkat (ab v3?) schreibzugriffe weswegen ich oben die Komponente Vorschlug.
Ist ja nur 5kb groß, schau mal wie der von Emba das regelt. |
AW: Android SD-Kartenzugriff
Ich bin mir nicht 100% sicher, aber ich meine, dass man seit Kitkat auf externen SDCards nur noch in einem Ordner Schreibrechte hat, der zur App gehört (/sdcard/<1111-1111>/Android/data/<bundle kennung>/files/Documents oder so ähnlich).
Will man mehr Schreibrechte, soll es wohl einen Umweg (Ausweg) über das Android Storage Access Framework (SAF) geben. Explorer Apps nutzen dieses Framework z.B. |
AW: Android SD-Kartenzugriff
Zitat:
Ich bekomme weiterhin 'permissions denied' beim Versuch zu schreiben bzw. schon beim Unterverzeichnis anlegen ForceDirectories ein False zurück! Irgendwo ist da noch ein Trick den ich nicht durchschaut habe! Ciao Stefan |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:41 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