Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   Delphi Android Oreo (API level 26) or higher (https://www.delphipraxis.net/197968-android-oreo-api-level-26-higher.html)

TurboMagic 6. Okt 2018 07:54

AW: Android Oreo (API level 26) or higher
 
In deinem Fall musst du vermutlich nur den TargetSDK Wert entsprechend setzen.

mlc42 6. Okt 2018 11:47

AW: Android Oreo (API level 26) or higher
 
Danke für die Info.

Leider wird es wohl nicht so einfach sein. Die Anwendung wird zwar von Google angenommen, stürzt dann aber
bei den ersten Sachen ab.

Ich hab das dann im Debugger probiert (mit dem alten API Level Manifest funktioniert das noch einwandfrei).
Da kommt dann:

Im Projekt ist eine Exception der Klasse EJNIException mit der Meldung 'java.lang.SecurityException: "gps" location provider requires ACCESS_FINE_LOCATION permission.' aufgetreten.

Das wird dann vermutlich das mit den Runtime Permissions sein.

Ich habe noch die SDK Version 24.3.3 - Muss man da auch ein neues SDK installieren ?
Ich werd mir dann mal die Kastrifree Sourcen runterladen. Vielleicht bekomme ich ja
heraus was die benötigten Schritte sind um das hinzubekommen.

mjustin 6. Okt 2018 13:15

AW: Android Oreo (API level 26) or higher
 
Zitat:

Zitat von mlc42 (Beitrag 1415099)
Im Projekt ist eine Exception der Klasse EJNIException mit der Meldung 'java.lang.SecurityException: "gps" location provider requires ACCESS_FINE_LOCATION permission.' aufgetreten.

Das wird dann vermutlich das mit den Runtime Permissions sein

Ja, diese Permission gehört zu den als gefährlich eingestufen (siehe https://developer.android.com/guide/...mission-groups). Wenn die App wie angegeben nur SQLite, lokale Dateien und Internetzugriff benötigt, dann ist es etwas mysteriös warum diese Berechtigung angefordert wird. Entweder ist es eine übersehende Stelle im eigenen Code oder Drittanbieter-Code, oder das Delphi/FireMonkey Framework selber.

mlc42 6. Okt 2018 19:48

AW: Android Oreo (API level 26) or higher
 
In einer Unit wird der Location Sensor verwendet. Ich hab das wohl übersehen.
Das Demo API26 von Dave und das Location Demo waren hilfreich. Ich habe die
Permissionrequests eingebaut, nur die benötigten Ordner aus Kastrifree in meinen Ordner kopiert
, Suchpfad angepasst und den API Level auf 26 geändert.
Dann lässt Google das hochladen zu und in der Testgruppe kann ich das auch installieren
und es läuft. Wenn ich das geänderte Manifest im Debugmode verwende kommen da auch
Exceptions. So kann man das gut untersuchen. Leider stützt die Anwendung dann etwas später ab.
Das muss ich noch untersuchen. Aber zumindest Licht am Ende des Tunnels.


Ich frage mich nur was auf den Kundengeräten passiert
wenn ich das als Alpha Version in den Playstore packe.
Ein zurück auf den alten Code ist ja nicht mehr möglich.
Da die Kunden alle möglichen Geräte und Androidversionen haben
mag da ja auch was schief gehen.


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

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