AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung Delphi 12.3+Android (10)+SD-Card: .../Android/media/[appName] wird nicht angelegt
Thema durchsuchen
Ansicht
Themen-Optionen

Delphi 12.3+Android (10)+SD-Card: .../Android/media/[appName] wird nicht angelegt

Ein Thema von philipp.hofmann · begonnen am 5. Apr 2025 · letzter Beitrag vom 7. Apr 2025
Antwort Antwort
philipp.hofmann

Registriert seit: 21. Mär 2012
Ort: Hannover
927 Beiträge
 
Delphi 10.4 Sydney
 
#1

AW: Delphi 12.3+Android (10)+SD-Card: .../Android/media/[appName] wird nicht angelegt

  Alt 5. Apr 2025, 21:52
Auch das Setzen von targetSDKVersion auf 34 in den Projektoptionen hat leider das alte Verhalten nicht hervorgezaubert. Das media-Verzeichnis auf der SD-Karte wird nicht angelegt, nur das data-Verzeichnis. Da ich weiß, dass der Zugriff auf das Media-Verzeichnis in der App bisher bis mindestens Android 15 funktioniert, bin ich eigentlich guter Dinge, dass wir alles notwendige schon umgesetzt haben. Mal schauen, ob wir dies auch noch rausbekommen.

Geändert von philipp.hofmann ( 5. Apr 2025 um 22:35 Uhr)
  Mit Zitat antworten Zitat
philipp.hofmann

Registriert seit: 21. Mär 2012
Ort: Hannover
927 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Delphi 12.3+Android (10)+SD-Card: .../Android/media/[appName] wird nicht angelegt

  Alt 6. Apr 2025, 13:10
Als Workaround habe ich die App schon mal so umgebaut, dass ich auch Daten direkt von der SD-Karte von /Android/data/com.icTrainer/files verwenden kann. Dies dann mal mit Android 13 durchtesten und ich verliere dann wenigstens keine Funktion. Ich vermute nur aktuell, dass die Nutzer nicht ganz so einfach an das data-Verzeichnis im Datei-Explorer rankommen, wie an das media-Verzeichnis. Das sehe ich dann aber auch nochmals.
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.174 Beiträge
 
Delphi 12 Athens
 
#3

AW: Delphi 12.3+Android (10)+SD-Card: .../Android/media/[appName] wird nicht angelegt

  Alt 6. Apr 2025, 16:48
Die Frage ist auch, wenn man so Verzeichnisse oder Zugriffsmethoden umstellt, wie man die alten Daten dahin rüberretten kann.
Das geht ja theoretisch über die Cloud-Drives, aber wie genau der Prozess aussehen soll, wenn der alte Zugriff plötzlich nicht mehr geht, ist mir schleierhaft.
Ich rechne da auch immer mit Datenverlust, oder man hat die Möglichkeit das einfach in seiner eigenen Cloud zu speichern und zu verwalten.
  Mit Zitat antworten Zitat
philipp.hofmann

Registriert seit: 21. Mär 2012
Ort: Hannover
927 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Delphi 12.3+Android (10)+SD-Card: .../Android/media/[appName] wird nicht angelegt

  Alt 6. Apr 2025, 17:43
Ich denke, dass bei allen alten Installationen das Verzeichnis mit den richtigen Berechtigungen auf der SD-Card noch existiert. Das Problem ist ja "nur", dass dieses nicht mehr wie zuvor automatisch und mit den richtigen Berechtigungen angelegt wird und ich weiß bisher nicht, wie man die Anlage von außen anstoßen kann.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.961 Beiträge
 
Delphi 12 Athens
 
#5

AW: Delphi 12.3+Android (10)+SD-Card: .../Android/media/[appName] wird nicht angelegt

  Alt 6. Apr 2025, 18:21
Was machst du denn mit dem Verzeichnis? Versuchst du da eine Datei anzulegen? Mit einer höheren SDK Version wird das Verzeichnis, wie schon geschrieben, vorher nicht angelegt. Es sollte aber das richtige Verzeichnis auch zukünftig sein.
Sebastian Jänicke
AppCentral

Geändert von jaenicke ( 6. Apr 2025 um 18:57 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.961 Beiträge
 
Delphi 12 Athens
 
#6

AW: Delphi 12.3+Android (10)+SD-Card: .../Android/media/[appName] wird nicht angelegt

  Alt 6. Apr 2025, 20:01
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;
Sebastian Jänicke
AppCentral

Geändert von jaenicke ( 7. Apr 2025 um 09:34 Uhr)
  Mit Zitat antworten Zitat
philipp.hofmann

Registriert seit: 21. Mär 2012
Ort: Hannover
927 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: Delphi 12.3+Android (10)+SD-Card: .../Android/media/[appName] wird nicht angelegt

  Alt 7. Apr 2025, 07:49
Vielen Dank, ich kannte v.a. die Methode Context.getExternalMediaDirs noch gar nicht, sondern nur die alte Helper-Methoden aus Androidapi.IOUtilsEx.pas, welche aber seit Android 11 nicht mehr funktionieren. Und das verwirrende hier ist ein wenig, dass von vier Verzeichnissen, welche vorab angelegt wurden (zwei im Hauptspeicher, zwei auf der SD-Karte) noch 3 angelegt werden. Aber wieder was gelernt.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:03 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