Einzelnen Beitrag anzeigen

dominikkv

Registriert seit: 30. Sep 2006
Ort: Gundelfingen
1.109 Beiträge
 
Delphi 2007 Professional
 
#1

IntentService für Android

  Alt 2. Mai 2017, 11:57
Delphi-Version: 10 Berlin
Hallo,

hat jemand von euch schon mal einen IntentService für Android mit Delphi umgesetzt? Ich laufe da in Fehler rein...

Ich habe ein "Intent Remote Service", wie das bei Delphi heißt, in einem Testprojekt unter 10.1 Berlin und 10.2 Tokyo angelegt und in einer Testapp in Delphi getestet. Der Service macht nichts anderes, als in den Events "AndroidIntentServiceCreate", "AndroidIntentServiceDestroy" und "AndroidIntentServiceHandleIntent" ein Logeintrag in das Logcat zu schreiben, die Testapp macht nichts anderes als den Service über einen Button zu starten.

Das Verhalten ist, dass zwar das Create-Ereignis vom Service aufgerufen wird, aber nicht mehr das HandleIntent & Destroy-Ereignis. Der Service bleibt im Hintergrund laufen. Weitere Aufrufe laufen ins leere. Das liegt daran, dass auf Java-Ebene das "onStartCommand" von Embarcadero überschrieben wird, aber der Aufruf nicht behandelt wird, und auch kein "super" der Elternklasse aufgerufen wird. Die Androiddokumentation sagt auch ganz klar:
Zitat:
You should not override this method for your IntentService. Instead, override onHandleIntent(Intent), which the system calls when the IntentService receives a start request.(Quelle)
Also habe ich die Methode onStartCommand kurzerhand im *.template.java auskommentiert / super aufgerufen. Jetzt werden alle drei Events aufgerufen, ABER beim Beenden des Services gibt es ein SEGFAULT 11 in einem nicht debugbaren Stack.

Ich frage mich, mache ich was falsch? Hat jemand von euch einen IntentService schon mal erfolgreich mit Delphi implementiert? Ich finde da so wenig dazu!


Viele Grüße
Dominik

Edit: Ich habe mal einen Bugreport ausgefüllt: https://quality.embarcadero.com/browse/RSP-18015
Dominik
Wer anderen eine Grube gräbt, hat ein Gruben-Grab-Gerät!

Geändert von dominikkv ( 2. Mai 2017 um 12:35 Uhr) Grund: Ergänzung Bugreport
  Mit Zitat antworten Zitat