Ich habe einen Hintergrunddienst die laufen permanent muss.
This is not possible. Der Benutzer oder Android wird Ihren Dienst irgendwann beenden. Bitte überdenken Sie Ihre Architektur.
Wie kann ich die Aktivität fortsetzen, wenn der Dienst noch läuft?
Im Allgemeinen nicht.
Gibt es eine bessere Möglichkeit als eine statische Variable in der Serviceklasse?
Das funktioniert nicht, wenn der Benutzer oder Android Ihren Dienst beendet.
Ist es von Vorteil, einen Remote- Service in einem separaten Prozess zu verwenden ( Lebensdauer Zeit verlängern), so dass, wenn die Aktivität Prozess der Service noch am Leben getötet wird ist?
Ein Remotedienst hat nichts damit zu tun, ob der Dienst ausgeführt wird, nachdem Aktivitäten zerstört wurden. Wenn Sie startService()
rufen, wird der Dienst ausgeführt wird, unabhängig von irgendwelchen Aktivitäten, bis:
- Sie
stopService()
aus einer Tätigkeit nennen
- der Dienst ruft
stopSelf()
- Android den Dienst beendet
- der Benutzer beendet die Service über die Einstellungen Anwendung
- der Benutzer beendet den Dienst über einen "Task Killer" (Android 2.1 und früher, mindestens)
'adb bugreport' sagte mir, dass mein Dienst zu sehr abgestürzt ist und – OneWorld