![]() |
Delphi 12.3+Android (10)+SD-Card: .../Android/media/[appName] wird nicht angelegt
Liste der Anhänge anzeigen (Anzahl: 2)
Hi,
ich migriere gerade von Delphi 12.1 auf Delphi 12.3. Dabei ist mir aufgefallen, dass das Verzeichnis .../Android/media/[appName] auf der SD-Karte nicht mehr angelegt wird. Zumindest auf meinem Android 10 Tablet. Das Verzeichnis .../Android/data/[appName] ist aber da. Ich kann keinen Unterschied in der Manifest-Datei feststellen (siehe Anhang). Was nur auch auffällt ist, dass ich bei der Delphi 12.1-Version PermissionsService.RequestPermissions für READ_EXTERNAL_STORAGE und WRITE_EXTERNAL_STORAGE gar nicht aufrufen muss und es geht trotzdem. In der Delphi 12.3-Version muss ich es aufrufen. Weißt da jemand mehr drüber. Ich habe mir jetzt schon mal extra ein Android-13-Tablet bestellt. Wenn dies nur ein Android<=10-Problem ist, wäre es eventuell verschmerzbar, sind bei Tablets aber auch noch gut 16 Prozent der Nutzer. Grüße, Philipp |
AW: Delphi 12.3+Android (10)+SD-Card: .../Android/media/[appName] wird nicht angelegt
Das liegt am neueren SDK. Du siehst ja im Manifest, dass dieses von 34 auf 35 erhöht wurde.
Die Frage ist, wie du auf die Verzeichnisse zugreifst. Das Stichwort ist "Scoped Storage". Bei den Zugriffsrechten hat sich sehr viel getan in den letzten Versionen. Das media-Verzeichnis wird z.B. nur noch angelegt, wenn du auch eine Datei darin speicherst. Data wiederum kannst du ohne weitere Permissions nicht mehr nutzen. Die neuen Permissions READ_MEDIA_IMAGES usw. hast du im Manifest nicht drin, brauchst du aber auch nur, wenn du außerhalb von \media arbeiten möchtest. |
AW: Delphi 12.3+Android (10)+SD-Card: .../Android/media/[appName] wird nicht angelegt
Aber es geht ja um mein Android 10-Tablet. Da sind die ganzen neuen Berechtigungen ja noch nicht in Verwendung. Dies sollte sich doch so verhalten, wie davor auch, auch wenn das Max-SDK erhöht wurde. Oder verstehe ich dies falsch?
Ich nutze daher schon seit Jahr und Tag das Media-Verzeichnis und nicht das Data-Verzeichnis für Dateien, die die Nutzer von außen zusteuern können. Aber ich werde einmal ausprobieren, etwas im media-Verzeichnis des Gerätes zu speichern, ob dann etwas auf der SD-Karte passiert. |
AW: Delphi 12.3+Android (10)+SD-Card: .../Android/media/[appName] wird nicht angelegt
Nein, ganz so ist es nicht. Manches passiert wirklich erst unter Android 11 und höher. Aber Scoped Storage gab es z.B. bereits in Android 10, wurde aber mit SDK 29 usw. noch nicht forciert. Wenn du aber SDK 35 verwendest, musst du nun Scoped Storage nutzen. Deshalb hängt das auch vom Target SDK ab, auch wenn es sich um das gleiche Android 10 Tablet handelt.
Die genauen Funktionsweisen kann ich dir leider nicht nennen, denn dazu kenne ich mich nicht gut genug aus. Du solltest mit Delphi 12.3 aber auch problemlos das alte SDK nutzen können, sofern es installiert ist. Wenn es da ist, kannst du die targetSdkVersion einfach wieder auf den alten Wert 34 setzen. Dann sollte das Verhalten wie vorher sein. |
AW: Delphi 12.3+Android (10)+SD-Card: .../Android/media/[appName] wird nicht angelegt
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.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:14 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