AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

LocationSensor Crash Android64

Ein Thema von nikosophi · begonnen am 1. Feb 2022 · letzter Beitrag vom 19. Mär 2022
Antwort Antwort
nikosophi

Registriert seit: 8. Mai 2013
Ort: Weilerswist
47 Beiträge
 
Delphi 11 Alexandria
 
#1

LocationSensor Crash Android64

  Alt 1. Feb 2022, 10:40
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...
  Mit Zitat antworten Zitat
philipp.hofmann

Registriert seit: 21. Mär 2012
Ort: Hannover
890 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: LocationSensor Crash Android64

  Alt 1. Feb 2022, 12:58
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}
  Mit Zitat antworten Zitat
nikosophi

Registriert seit: 8. Mai 2013
Ort: Weilerswist
47 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: LocationSensor Crash Android64

  Alt 1. Feb 2022, 13:24
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.
  Mit Zitat antworten Zitat
philipp.hofmann

Registriert seit: 21. Mär 2012
Ort: Hannover
890 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: LocationSensor Crash Android64

  Alt 1. Feb 2022, 13:46
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.
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.942 Beiträge
 
Delphi 12 Athens
 
#5

AW: LocationSensor Crash Android64

  Alt 1. Feb 2022, 22:16
Monitor.bat aus dem Android SDK aufrufen um das Logcat Log anzuzeigen. Evtl. gibt's da Hinweise zum Crash.
  Mit Zitat antworten Zitat
AuronTLG

Registriert seit: 2. Mai 2018
Ort: Marburg
269 Beiträge
 
Delphi 12 Athens
 
#6

AW: LocationSensor Crash Android64

  Alt 15. Feb 2022, 12:44
Jetzt erst gesehen:

Schau dir mal den Eintrag hier an.
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.
  Mit Zitat antworten Zitat
nikosophi

Registriert seit: 8. Mai 2013
Ort: Weilerswist
47 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: LocationSensor Crash Android64

  Alt 19. Mär 2022, 05:43
Kurze Info:
Mit Update von 11.0 auf 11.1 hat sich das Problem erledigt.
Der Locationssensor funktioniert wieder auch bei Android 12.
  Mit Zitat antworten Zitat
Antwort Antwort

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:21 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