Ich habe es ausprobiert. Wie in der Doku steht, wird das Verzeichnis in der aktuellen
SDK Version erst angelegt, wenn man dessen Pfad abruft. Eine Datei abzulegen ist gar nicht nötig. Der Aufruf von getExternalMediaDirs genügt:
Delphi-Quellcode:
uses
Androidapi.JNIBridge,
Androidapi.JNI.JavaTypes,
Androidapi.JNI.GraphicsContentViewText,
Androidapi.Helpers;
function GetExternalMediaPath: string;
var
Context: JContext;
mediaDirs: TJavaObjectArray<JFile>;
mediaDir: JFile;
begin
Result := '';
Context := TJContext.Wrap(SharedActivity);
if Context <> nil then
begin
mediaDirs := Context.getExternalMediaDirs;
if (mediaDirs <> nil) and (mediaDirs.Length > 0) then
begin
mediaDir := mediaDirs.Items[0];
if mediaDir <> nil then
Result := JStringToString(mediaDir.getAbsolutePath);
end;
end;
end;