Wie bleibe ich mit einem Android-Dienst zwischen mehreren Aktivitäten verbunden?

8

Ich habe mehrere Aktivitäten und einen Service. In MainActivity Ich verbinde erfolgreich mit dem Dienst (mit einer Klasse, die ServiceConnection + bindService() + startService() implementiert), aber wenn ich versuche, dieselbe Methode in anderen Aktivitäten anzuwenden, sehe ich in LogCat einen Fehler:

%Vor%

Ist es möglich, sich auf andere Weise mit einem Dienst zu verbinden: etwas, das mein CounterServiceConnection -Objekt in MainActivity statisch macht und es in der zweiten verwendet?

    
Ungureanu Liviu 15.01.2010, 21:00
quelle

2 Antworten

15

Die Fehlermeldung ist ziemlich selbsterklärend: Sie verlieren ServiceConnection , wodurch Android bedeutet, dass Sie bindService() aufrufen, aber nicht unbindService() aufrufen und die Aktivität, die bindService() aufgerufen hat, wurde zerstört. Stellen Sie sicher, dass Sie unbindService() in onDestroy() aufrufen, wenn nicht früher.

  

etwas wie statisch mein machen   CounterServiceConnection-Objekt in   MainActivity und nutze es im Sekundentakt   einer?

Nein.

    
CommonsWare 15.01.2010, 22:21
quelle
0

Sie können es aus einem separaten Thread binden, solange Sie einen Looper in diesem Thread installieren

    
Will 15.01.2010 21:16
quelle