Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   IntentService für Android (https://www.delphipraxis.net/192578-intentservice-fuer-android.html)

dominikkv 2. Mai 2017 11:57

Delphi-Version: 10 Berlin

IntentService für Android
 
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


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