Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   Android: Wie in SharedDocumentsPath eine Datei erzeugen und Speichern (https://www.delphipraxis.net/208070-android-wie-shareddocumentspath-eine-datei-erzeugen-und-speichern.html)

Harry Stahl 4. Jun 2021 18:25

Android: Wie in SharedDocumentsPath eine Datei erzeugen und Speichern
 
Irgendwie kriege ich es gerade nicht hin.

Was muss ich unter Android 11 machen, damit ich eine Datei in TPath.GetSharedDocumentspath speichern kann?

- Was muss ich dafür unter "Berechtigungen" aktivieren?
- Muss ich dafür "Sichere Dateifreigabe" aktivieren?

Harry Stahl 4. Jun 2021 18:48

AW: Android: Wie in SharedDocumentsPath eine Datei erzeugen und Speichern
 
Gerade stell ich fest, dass die APP von Delphi auf das Device übertragen, sich anders verhält, als wenn ich es aus dem Internet lade (nicht Play store, da bin ich nicht).

Wenn ich TPath.GetPublicPath verwende, kann ich da eine Datei erzeugen und speichern und der User kann da auch eine Datei über eine USB-Verbindung mit dem PC reinkopieren.

Die Datei wird dann in diesem Ordner erzeugt:
Dieser PC\Galaxy Tab A7\Tablet\Android\data\de.hastasoft.TimOnize\files

Wenn ich aber das mit der App von Delphi auf das Gerät übertragen versuche, bekomme ich immer Fehlermeldungen (der Pfad heißt dann auch irgendwie anders).

Na ja, damit kann ich leben. Die Ausgangsfrage drängt daher nicht mehr so, wäre aber dennoch interessant zu wissen.

philipp.hofmann 4. Jun 2021 21:44

AW: Android: Wie in SharedDocumentsPath eine Datei erzeugen und Speichern
 
Also generell ist Google mit Android 11 ja restriktiver geworden. Es sollte nur bei über das Internet übertragenen Dateien noch nicht so das Problem sein.
Die langfristige Lösung findet sich hier:
- https://www.delphipraxis.net/205436-...-10-4-a-2.html
- https://www.delphipraxis.net/207832-...abbrechen.html

In deinem Beispiel müsste aber eigentlich nach das Folgendes reichen:
- Entitlement List: Secure File Sharing aktiviert
- Permissions ReadExternalStorage und WriteExternalStorage
- Berechtigungen im Code erfolgen PermissionsService.RequestPermissions(['android.permission.READ_EXTERNAL_STORAGE', 'android.permission.WRITE_EXTERNAL_STORAGE'], ReadExternalStorageRequestResult);
- android:requestLegacyExternalStorage="true" im Entitlement-Template-File


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:55 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz