2017-10-22 5 views
0

Meine Anwendung muss den Dienst im Hintergrund ausführen, auch wenn der Benutzer die App geschlossen hat. Aber wenn ich meine App geschlossen habe, stoppe der Dienst und starte neu. Alle Variablen, die sich im Dienst befinden, werden zurückgesetzt.Laufender Dienst nach dem Schließen der Anwendung

Nach Suche auf Google, ich habe festgestellt, dass:

@Override 
public int onStartCommand(Intent intent, int flags, int startId) { 
    return START_STICKY; 
} 

Aber es nicht funktionieren. Mein Service ist zurückgesetzt.

+0

verwenden ** [startForeground()] (https://developer.android.com/reference/android/app/Service.html) ** – UltimateDevil

+0

Ja, aber das muss API 26 Minimum –

Antwort

0

Hallo, Sie müssen die Tatsache berücksichtigen, dass, wenn Ihre App API-Ebene 26 oder höher zielt, das System Einschränkungen für die Ausführung von Hintergrunddiensten auferlegt, wenn die App selbst nicht im Vordergrund ist. In den meisten Fällen sollte Ihre App stattdessen einen geplanten Job verwenden. Sie können mehr über diesen Link lesen: Services

+0

Ok, danke. Also, wie kann ich meinen Dienst am Leben erhalten, selbst wenn der Benutzer die App geschlossen hat? –

+0

Dann kommt es auf die Rolle Ihres Dienstes an. Was ist der Zweck Ihrer Dienstleistung? –

+0

Mein Dienst berechnen auf Variablen dann senden an einige Aktivitäten Variable in Broadcast –

0

Haben Sie Ihren Dienst der AndroidManifest.xml hinzugefügt?

+0

Ja, ich habe meinen Dienst in Manifest hinzufügen. Mein Dienst wird ausgeführt, aber zurückgesetzt, wenn ich meine App geschlossen habe –

Verwandte Themen