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/)
-   -   Android permissions mit Bluetooth LE und Location werden nicht direkt freigeschaltet (https://www.delphipraxis.net/204914-android-permissions-mit-bluetooth-le-und-location-werden-nicht-direkt-freigeschaltet.html)

Rollo62 13. Jul 2020 17:01

Android permissions mit Bluetooth LE und Location werden nicht direkt freigeschaltet
 
Hallo zusammen,

ich habe einen Crosspost in derDP-EN hier gemacht, und wollte auch hier mal nachfragen ob das ein bekanntes Problem ist, oder ob das nur bei mir auftritt.

Weil man dort so schön Bilder einfüge kann, verlinke ich mal auf den Eintrag hier.

Das ist im Wesentlichen der Ablauf, und das Problem ist dass das Setzen der Location Berechntigung nicht mehr korrekt funktioniert.
M;an muss erst extern, im Android Dialog zu der App die Berechtigung ändern
(!! ja, es steht dort schon richtig, muss aber einmal hin- und hergeändert werden).
Erst danach wird BLE für den Zugriff aktiviert.

Ich habe ein paar Demo-Apps hochgeladen, hier der Link zur letzten Version.
In den Test-Versionen 1-4 habe ich ein bischen mit Permisisons, und sogar der neuen ALLOW_BACKGROUND_PERMISSION herumgespielt, obwohl die App gar keinen Background nutzt.

Im Ergebnis bleibt es bei mir gleich: Ich muss extern im Android App-Setup einmal die Berechtigung auf ALWAYS ändern, sonst bekomme ich keinen Scan.

Ich frage mich ob das auch bei Euch auch so passiert, und was die Ursache dafür sein könnte.
Könnte vieleicht jemand die Test-App ausprobieren, ob sie Scans zurückliefert ?
Denn vor Android 10 hat es eigentlich immer funktioniert, was ist jetzt anders ?
Für Anregungen/Vorschläge/Verbesserungen bin ich sehr dankbar.

philipp.hofmann 14. Jul 2020 10:34

AW: Android permissions mit Bluetooth LE und Location werden nicht direkt freigeschal
 
Hi Rollo,

leider konnte ich dein Projekt nicht bei mir starten, es bleibt beim Linken stehen.
Ich habe mein Projekt gegen Android 10 (von Delphi 10.3.3) aus getestet und dort geht noch alles mit Bluetooth.
Einziger Unterschied, ich frage nur ACCESS_COARSE_LOCATION ab, BLUETOOTH und BLUETOOTH_ADMIN habe ich nur in den Settings aktiviert.

Grüße, Philipp

Rollo62 14. Jul 2020 13:53

AW: Android permissions mit Bluetooth LE und Location werden nicht direkt freigeschal
 
Hallo Phillip, danke fürs Testen.
Warum hängt es beim Linken, ist ein Minimalbeispiel, nichts Besonderes drin :shock:
Das ist bei mir mit Rx10.4 Patch1 kompiliert.

Womöglich muss ConnectionProfile, SDKManager, ... angepasst werden, oder so.


Ich habe noch Tests gemacht, siehe hier im Link
https://en.delphipraxis.net/applicat...nt.php?id=2540


Test5 = mit ALLOW_BACKGROUND_PERMISSION in Manifest
Test6 = ohne ALLOW_BACKGROUND_PERMISSION in Manifest

Macht auch keinen Unterschied, ich muss IMMER erst extern EINMAL nach Installation die Permission Hin- und Herändern,
bevor ich Ergebnisse vom Bluetooth scan bekomme.
Danach geht es dann.
Mein Verdacht war der neue ALLOW_BACKGROUND_ Modus, ist es aber wohl nicht.

Das liegt aber auch nicht nur bei mir am Telefon,
denn ich sehe das Verhalten gleich auf mehreren Geräten.

Rollo62 14. Jul 2020 14:07

AW: Android permissions mit Bluetooth LE und Location werden nicht direkt freigeschal
 
Zitat:

Zitat von philipp.hofmann (Beitrag 1469515)
Android 10 (von Delphi 10.3.3)

Das ist ein interessanter Hinweis, habe bisher nur mit Rx10.4 probiert,
auch wegen der kommenden Android 29 Anforderung.
Rx10.4 kann das, Rx10.3.3 aus dem Stand erstmal nicht.

Ausserdem brauche ich Bluetooth im Background-Modus, das kommt erschwerend hinzu.

Aber es macht vielleicht Sinn Rx10.3.3 zu testen, und dann dort auf API-29 umzusteigen.
Hast Du vor auf 10.3.3 zu bleiben, gibt es da vielleicht irgendwelche Fallstricke für API-29
die man beachten müsste wegen Bluetooth, Location, etc. ?

Ich habe Rx10.4 unkritisch gesehen, auch weil alle API's von Adnroid die ich brauche unverändert geblieben sind, es sollte sich also wie Rx10.3.3 Verhalten.

philipp.hofmann 14. Jul 2020 15:26

AW: Android permissions mit Bluetooth LE und Location werden nicht direkt freigeschal
 
Ich bin bisher immer noch auf 10.3.3, weil es MadExcept offiziell noch nicht für 10.4 gibt.
Sobald sich dies ändert, werde ich auch umsteigen und dort testen. Ist aber mit ein wenig Arbeit verbunden, daher drängt es mir gerade nicht.

TurboMagic 14. Jul 2020 21:39

AW: Android permissions mit Bluetooth LE und Location werden nicht direkt freigeschal
 
Rollo62: bei aktiver Subskription ggf. Mal ein offizielles Support-Ticket bei EMBT anlegen. Dann muss sich das jemand von denen anschauen, der evtl. noch einen neuen Tipp hat.

Rollo62 15. Jul 2020 07:00

AW: Android permissions mit Bluetooth LE und Location werden nicht direkt freigeschal
 
Ok Supportanfrage kann ich parallel versuchen, aber ich suche eine schnellere Lösung bis zum August.

Ich denke es hängt mit den API-Anforderungen beim SDK von API-26 auf API-29 zusammen,
denn ich hatte gestern nochmal alle relevanten Source-Units von Rx10.3.3 mit Rx10.4 verglichen
(zu Location, Bluetooth, Permissions, etc.), die sind exakt gleich geblieben (bis auf Copyright-Datum).

In den Rx10.4 Sourcen hatte ich schon Alles zig Mal durchgeschaut, auch in den verschiedenen Android-Foren, Android-Developer, etc. kann ich keinen Hinweis finden.
Alles wie im Minimal-Beispiel sollte so funktionieren, auch noch unter API-29.

Ich vermute mal das die Rx10.3.3 Kompilate dann auch nicht mehr durch den Review kommen,
wenn nicht API-29 unterstützt wird.
Oder hast Du dein Android schon auf API-29 upgedatet ?
Vermutlich hat Rx10.3.3 mit API-29 dann die gleichen Probleme.

Ich werde mal schauen wie ich das Android-API sicher updaten kann, vielleicht ist da ja ein Bug drin, und es hilft ein Update dort.
Normalerweise vermeide ich sowas, und habe das zuletzt vor 4 Jahren machen müssen, ich versuche immer möglichst mit "Werkseinstellungen" der IDE durchzukommen :stupid:

Das Android-API Update müsste ich nur vorsichtig machen, ohne das mir der Rest abraucht,
sonst könnte ich statt einem neuen gleich 20 neue Fehler bekommen.

philipp.hofmann 15. Jul 2020 08:11

AW: Android permissions mit Bluetooth LE und Location werden nicht direkt freigeschal
 
Ich bin mit 10.3.3 noch auf dem Android 26.1.1-SDK unterwegs. Wie kann ich ein Android 29/30-SDK hinzufügen? Wenn ich im SDK-Manager "Hinzufügen"+"Neue hinzufügen" klicke und die Pfade auf das Android 30-SDK und 21-NDK setze, sagt er mit dann, dass ich schon ein "Android SDK 26.1.1" hätte. Sonst würde ich das mal glatt ausprobieren. So lange ich ja auch nicht mehr bis November (und dann ist Android-29 für Updates Pflicht). Ich werde mich aber wahrscheinlich auch nächste Woche mit Delphi 10.4 auseinander setzen, dann habe ich es automatisch.

Rollo62 15. Jul 2020 09:02

AW: Android permissions mit Bluetooth LE und Location werden nicht direkt freigeschal
 
Ja das manuelle Updaten wollte ich Vermeiden, das müsste so wie Du beschrieben hast funktionieren.
Eventuell noch ein paar Pfade im IDE SDK-Manager umbiegen.

Ich habe es gerade unter 10.3.3 getestet, und die Projekte nochmal komplett unter 10.3.3 und 10.4 angelegt.

Meine Ausgangsbasis ist
Zitat:

//## Rx10.3.3:
//## - Android SDK Tools : 25.2.5
//## - Android SDK Build-tools: 28.0.2
//## - Android API : 26 Rev 2
//##
//## Rx10.4 Pacth 1:
//## - Android SDK Tools : 25.2.5
//## - Android SDK Build-tools: 29.0.6
//## - Android API : 29 Rev 4
Ich habe in 10.4 (und hatte soweit ich noch rückdenken kann in 10.3.3) keine Updates im android gemacht,
also so sollte es nach der IDE-Neuinstallation aussehen.

Ich habe den erweiterten Test7 mit allen Optionen für Rx10.4 und 10.3.3 hier hochgeladen.
https://en.delphipraxis.net/topic/31...&comment=25305

Das Ergebnis bleibt gleich, Rx10.3.3 funktioniert wie es soll, Rx10.4 mit obiger API zickt.

Werde wohl ein Update morgen versuchen, in der Hoffnung das es wieder rund läuft.
(Backup der VM nicht vergessen :stupid:)

Hofix2004 26. Jul 2020 19:24

AW: Android permissions mit Bluetooth LE und Location werden nicht direkt freigeschal
 
Ist jemand hier schon weitergekommen, warum Projekte mit BLE auf Android mit Delphi 10.3 die benötigten Permissions auf BLE bekommen, aber mit Delphi 10.4 nicht mehr?


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:58 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