Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   Delphi requestLegacyExternalStorage im AndroidManifest (https://www.delphipraxis.net/207636-requestlegacyexternalstorage-im-androidmanifest.html)

zeras 16. Apr 2021 18:57

requestLegacyExternalStorage im AndroidManifest
 
In der Google Konsole habe ich gesehen, dass meine APP die Berechtigung "android:requestLegacyExternalStorage="true"" enthalten soll.
Das habe ich nicht extra ausgewählt, sondern scheint im Standardmanifest schon zu sein.
Ich habe nur eine INI Datei, die unter
Delphi-Quellcode:
  fDir := TPath.GetDocumentsPath + TPath.DirectorySeparatorChar;
liegt.
Kann ich die Berechtigung auch auf False setzen?

zeras 5. Mai 2021 16:33

AW: requestLegacyExternalStorage im AndroidManifest
 
Ich habe diese nun im AndroidManifest gelöscht und dann eine neue Version hochgeladen. Leider kommt die Meldung im Store.
Hat hier jemand mehr Wissen und möchte das mit uns teilen?

philipp.hofmann 5. Mai 2021 16:47

AW: requestLegacyExternalStorage im AndroidManifest
 
Generell solltest du im Google-Play-Store-Postfach auch eine Info haben, was du ab dem 05.Mai beachten sollst, da Updates sonst nicht mehr hochladbar sind.
Habe ich mir diese Woche auch als todo auf die Agenda gestellt, ich habe es mir im Detail noch nicht angeschaut und fleißig das letzte notwendige Update gestern hochgeladen, damit ich ein paar Tage Zeit habe.

zeras 5. Mai 2021 17:11

AW: requestLegacyExternalStorage im AndroidManifest
 
Zitat:

Zitat von philipp.hofmann (Beitrag 1488661)
Generell solltest du im Google-Play-Store-Postfach auch eine Info haben, was du ab dem 05.Mai beachten sollst, da Updates sonst nicht mehr hochladbar sind.

Die Info habe ich ja bekommen und deswegen die Zeile im Manifest gelöscht. Die Meldung im Playstore kommt aber trotzdem, obwohl ich eine neue Version hochgeladen habe.

Aber vielleicht kannst du in ein paar Tagen berichten, wie es bei dir lief.

himitsu 5. Mai 2021 17:15

AW: requestLegacyExternalStorage im AndroidManifest
 
Du kannst die erstellte APK mit 7-Zip entpacken.
Und dort in den XML im RootVerzeichnis schauen, ob sich dieses requestLegacyExternalStorage doch noch drin befindet.
(eventuell auch nochmal mit einem Suchprogramm in allen anderen Dateien suchen)

zeras 5. Mai 2021 17:33

AW: requestLegacyExternalStorage im AndroidManifest
 
Zitat:

Zitat von himitsu (Beitrag 1488664)
Du kannst die erstellte APK mit 7-Zip entpacken.
Und dort in den XML im RootVerzeichnis schauen, ob sich dieses requestLegacyExternalStorage doch noch drin befindet.
(eventuell auch nochmal mit einem Suchprogramm in allen anderen Dateien suchen)

Danke für den Tipp.
Ich habe dann die "aab" Datei geöffnet.
Leider habe ich den o.g. Parameter nicht gefunden. Als Gegenbeweis habe ich mal nach "hardwareAccelerated" gesucht. Diesen Parameter habe ich dann mehrmals gefunden.

philipp.hofmann 5. Mai 2021 18:02

AW: requestLegacyExternalStorage im AndroidManifest
 
Wenn du einen Pfad aus
Delphi-Quellcode:
  fDir := TPath.GetDocumentsPath + TPath.DirectorySeparatorChar
nutzt, musst du aber doch in deiner App mehr Permissions nutzen, damit dies erlaubt ist oder nicht? Spontan würde ich sagen, dass dies die folgenden sein sollten:
Delphi-Quellcode:
  PermissionsService.RequestPermissions(['android.permission.READ_EXTERNAL_STORAGE', 'android.permission.WRITE_EXTERNAL_STORAGE'], ReadExternalStorageRequestResult);
und auch hierzu sollten in der Mail Infos stehen. Dieser Pfad dürfte eigentlich nicht mehr erlaubt sein oder du musst es begründen können (z.B. Hersteller von File-Explorer-Apps).

zeras 5. Mai 2021 18:08

AW: requestLegacyExternalStorage im AndroidManifest
 
Zitat:

Zitat von philipp.hofmann (Beitrag 1488670)
Wenn du einen Pfad aus
Delphi-Quellcode:
  fDir := TPath.GetDocumentsPath + TPath.DirectorySeparatorChar
nutzt, musst du aber doch in deiner App mehr Permissions nutzen, damit dies erlaubt ist oder nicht? Spontan würde ich sagen, dass dies die folgenden sein sollten:
Delphi-Quellcode:
  PermissionsService.RequestPermissions(['android.permission.READ_EXTERNAL_STORAGE', 'android.permission.WRITE_EXTERNAL_STORAGE'], ReadExternalStorageRequestResult);
und auch hierzu sollten in der Mail Infos stehen. Dieser Pfad dürfte eigentlich nicht mehr erlaubt sein oder du musst es begründen können (z.B. Hersteller von File-Explorer-Apps).

Habe ich da etwas falsch verstanden? Ich hatte gedacht, dass ich in dem o.g. Pfad meine Ini speichern kann.
Wo gibt es sonst einen Platz, um meine Ini zu speichern?

philipp.hofmann 5. Mai 2021 18:22

AW: requestLegacyExternalStorage im AndroidManifest
 
Ich speichere meine Daten unter Android in
appPath:=TFileUtils.adjustDir(System.IOUtils.TPath .GetPublicPath());

Dies ist laut Delphi-Doku
Android: /storage/emulated/0/Android/data/<application ID>/files
Dein Pfad ist laut Delphi-Doku
Android: /data/data/<application ID>/files

Ob dies hier einen Unterschied macht, kann ich dir leider nicht sagen. Da es an sich unterhalb der Application-ID ist, sollte es in der Theorie passen. Da gebe ich dir recht.
Hast du die Entitlements im Projekt mal angeschaut, ob dort noch eines gesetzt ist, was nicht mehr sein sollte?

zeras 5. Mai 2021 19:16

AW: requestLegacyExternalStorage im AndroidManifest
 
Zitat:

Zitat von philipp.hofmann (Beitrag 1488672)
Hast du die Entitlements im Projekt mal angeschaut, ob dort noch eines gesetzt ist, was nicht mehr sein sollte?

Meinst du mit Entitlements Berechtigungen?


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:53 Uhr.
Seite 1 von 2  1 2      

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