2014-02-18 9 views
5

ist es eine Tracking-App von 24 * 7. Wann immer es aufhört, verwende ich START_REDELIVER_INTENT, um es neu zu starten, aber es wird nicht jedes Mal gestartet. Es zeigt unterhalb des Antworttyps im Anwendungsmanager. Bitte vorschlagen.Warum der App-Dienst neu gestartet und nicht neu gestartet werden kann?

enter image description here

+0

Sehr geehrter Teekam, Es ist nicht klar, wie Sie implementiert, das Problem sollte nicht normal auftreten. Bitte lassen Sie mich weitere Informationen wissen, die hilfreich sein können. Auch Sie können die Grbge-Sammlung explizit vor dem Start des Dienstes durchführen, dies kann helfen. lassen Sie mich wissen mehr Info – FraZer

+0

Sie müssen viel mehr Informationen in Ihre Frage hinzufügen. Wir wissen nicht einmal, was du tust. Ich empfehle mehrere 'Log.d()' -Zeilen innerhalb Ihres 'Service' hinzuzufügen, um zu sehen, wo es abstürzt und warum und dann kann es besser helfen. Meine * blinde * Vermutung ist, dass Sie dies als ** Hintergrund ** Dienst anstelle von ** Vordergrund ** ausführen, und deshalb stürzt es ab. – nKn

Antwort

3

Ich habe gerade festgestellt, dass START_REDELIVER_INTENT sogar 20 Minuten benötigt, um den Dienst neu zu starten, wenn der Dienst unter 4.1.1 beendet wird. Der Neustart fällt immer mit der nächsten dalvikvm-Speicherbereinigung zusammen. Bis dahin bleibt der Dienst bei "Neustart" wie in der Frage gezeigt hängen.

START_STICKY startet den Dienst jedoch innerhalb von Sekunden nach der Beendigung neu.

1

Welche Android-Version versuchen Sie diese auf?

Android 4.4.x (API 19) hat einige Probleme mit Hintergrunddiensten getötet und nicht neu gestartet, unabhängig von Flags. Diese Fehler wurden ausführlich berichtet, aber es gab keine offizielle Bestätigung von ihnen mit AOSP.

Hier finden Sie Links zu den relevanten Android Issue Tracker-Berichten: #63618 und #63793.

+0

Dieses Problem tritt in Android 4.0.4 auf – Teekam

+0

Dann ist der Fehler, auf den ich verwiesen habe, wahrscheinlich nicht die spezifische Ursache Ihres Problems. Bitte fügen Sie Ihrer Frage weitere Informationen hinzu, wie andere Kommentatoren es gewünscht haben. Vielleicht würde ein Beispielcode helfen, damit anzufangen. – mike47

+0

Ich habe das gleiche Problem auch auf 4.1.1 mit einem Vordergrund-Service. START_STICKY funktioniert einwandfrei, aber START_REDELIVER_INTENT nicht. Wenn der Dienst beendet wird, verschwindet das Benachrichtigungssymbol und der Anwendungsmanager sagt "Neustart" wie oben und "0 Prozesse und 1 Dienst". Ich habe noch nicht stopSelfResult aufgerufen. In 4.4.2 passiert das Gleiche, außer dass das Benachrichtigungssymbol erhalten bleibt. – Monstieur

Verwandte Themen