1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

RemoteService garantiert callbacks entfernen bevor Activity beendet wird

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von eppinator, 06.04.2010.

  1. eppinator, 06.04.2010 #1
    eppinator

    eppinator Threadstarter Neuer Benutzer

    Beiträge:
    3
    Erhaltene Danke:
    0
    Registriert seit:
    11.02.2010
    Ich habe einen Service, der mehrere Clients bedienen kann und u.A. Callbacks entgegennimmt.

    Mein Problem ist jetzt: wie kann ich in einer Activity sicherstellen, dass bevor sie beendet wird (zum Beispiel weil Nutzer sie beendet) das Callback vom Service entfernt wird?
    Solang der Service an die Activity gebunden ist, kein Problem. Einfach in onDestroy() service.removeCallback(..) aufrufen.
    Wenn der Service allerdings nicht gebunden ist, muss zunächst erst wieder eine Verbindung hergestellt werden. Und erst dann (nach onServiceConnected) kann das Callback entfernt werden...
    Alles in onDestroy aufzurufen geht allerdings nicht, da das Binden asynchron ist... innerhalb von onDestroy müsste also gewartet werden, bis die Verbindung steht, dann callback entfernen, dann kann die Activity korrekt beendet werden.

    Der Service beendet sich übrigens selbst, sobald keine callbacks mehr registriert sind und keine activity mehr gebunden sind.

    Habe auch mit dem "onCallbackDied" geliebäugelt, das wird allerdings nur aufgerufen wenn eine activity unerwartet beendet wird (abstürzt) und nicht wenn sie regulär beendet wird.

    Jemand eine Idee?
     

Diese Seite empfehlen