![]() |
LocationSensor Crash Android64
Hallo,
ich versuche unter Delphi 11 den LocationSensor wieder zum Laufen zu bringen. In der letzten Delphi Version hat das noch funktioniert. Dazu habe ich das Emba Beispiel LocationDemoProject.dproj genommen: Android 64, auf dem Device Samsung S20 ist Android 11 In der Berechtigungsliste ist angehakt: auf ungefähren Standort zugreifen und auf genauen Standort zugreifen. Da in dem Beispiel die Rechte nicht abgefragt werden, habe ich dies in den Einstellungen/Apps/LocationDemoProject Standort freigegeben gemacht. Sobald LocationSensor.Activ auf TRUE geht crasht die App auch im Debugger. Sie verschwindet ohne dass eine Exception ausgegeben wird. Ich habe auch schon eigene Testprogramme mit Berechtigungsabfragen etc gemacht, immer das gleiche Ergebnis. Hat jemand eine Idee einer Lösung? Eine andere Komponente? Habe das Gefühl mit FMX funktioniert von Version zu Version immer weniger... |
AW: LocationSensor Crash Android64
Bei mir ist es umgekehrt, mit jeder Delphi-Version wird es besser. Ich frage die Permissions seit Delphi 11 folgendermaßen ab:
Delphi-Quellcode:
{$IFDEF ANDROID}
procedure TfTibbleBox.LocationPermissionRequestResult(Sender: TObject; const APermissions: TClassicStringDynArray; const AGrantResults: TClassicPermissionStatusDynArray); var i: Integer; begin if ((length(AGrantResults) = 2) and (AGrantResults[0] = TPermissionStatus.Granted) and (AGrantResults[1] = TPermissionStatus.Granted)) then begin mlog.info('User granted Location-Android-permission'); end else begin mlog.info('Not all Location-Android-permission granted (' + IntToStr(length(AGrantResults)) + ')'); for i:=0 to length(AGrantResults) - 1 do begin if (AGrantResults[i] = TPermissionStatus.Granted) then mlog.info(IntToStr(i) + ': granted') else mlog.info(IntToStr(i) + ': not granted'); end; end; end; procedure TfTibbleBox.requestLocationPermissions(); begin if (not requestedLocationPermissions) then begin requestedLocationPermissions:=true; mlog.info('Request Location-Permission for Android'); PermissionsService.RequestPermissions(['android.permission.ACCESS_COARSE_LOCATION', 'android.permission.ACCESS_FINE_LOCATION'], LocationPermissionRequestResult); end; end; {$ENDIF} |
AW: LocationSensor Crash Android64
Na, das freut mich für dich. Ehrlich.
Die Abfrage der Rechte ist auch nicht das Problem. Wie ich geschrieben habe, kann man die ja auch manuell über die Einstellungen setzen. Wenn du LocationSensor.Active auf TRUE setzt, ich setze mal Standardwerte der Komponente voraus, dann liefert sie Koordinaten? Erstaunlich. Ich hatte es auch noch nie, dass Delphi eine App im Debug Modus ohne Exception einfach beendet. Ich bin momentan ratlos und weiß nicht, wo ich anfangen soll zu suchen. |
AW: LocationSensor Crash Android64
Zugegeben Debugge ich sehr selten, ich arbeite auf Remote-Devices meist über Log-Files im Release-Modus und debugge meist nur unter Windows.
Aber ja, ich bekomme in meiner App die Location-Infos zurückgeliefert. |
AW: LocationSensor Crash Android64
Monitor.bat aus dem Android SDK aufrufen um das Logcat Log anzuzeigen. Evtl. gibt's da Hinweise zum Crash.
|
AW: LocationSensor Crash Android64
Jetzt erst gesehen:
Schau dir mal ![]() Bei den älteren Kommentaren befindet sich ein Workaround. Das war zumindest bei mir, was Crashs ausgelöst hat, wobei diese bei mir aber beim LocationChange-Event kamen. |
AW: LocationSensor Crash Android64
Kurze Info:
Mit Update von 11.0 auf 11.1 hat sich das Problem erledigt. Der Locationssensor funktioniert wieder auch bei Android 12. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:48 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