2013-08-21 14 views
5

Ich entwickle eine Anwendung, die mit meinem Dienst über Empfänger kommuniziert.android service startet sich selbst auf Anwendung getötet

Servicecode

@Override 
    public int onStartCommand(Intent intent, int flags, int startId) { 
    IntentFilter intentFilter = new IntentFilter(); 
    intentFilter.addAction(LOCATION_UPDATE); 
    mBroadcastReceiver = new BroadcastReceiver() { 
     @Override 
     public void onReceive(Context context, Intent intent) { 
      receiverWorks(intent); 
     } 
    }; 
    this.registerReceiver(mBroadcastReceiver, intentFilter); 
    return START_STICKY; 
    } 

Manifest Erklärung

<service 
     android:name="com.test.IService" 
     android:enabled="true" 
     android:label="IService" 
     android:process=":iservice" > 
    </service> 

Problem im Service ist, dass es startet sich neu nach Anwendung (meine Anwendung, die diesen Dienst verwendet) getötet wird. Wie kann ich das verhindern? Versucht, Android zu entfernen: Prozess, aber nichts ändert sich.

Warten auf Sie helfen.

Dank

+1

Haben Sie jemals eine Lösung finden? Ich habe das gleiche Problem – StuStirling

Antwort

6

Der Dienst startet sich neu, weil Sie START_STICKY in onStartCommand()

Sie müssen zurückkehren start_not_sticky statt zurückzukehren.

Für weitere Informationen, lesen Sie bitte: START_STICKY and START_NOT_STICKY

+6

Vielen Dank für Ihre Antwort. Aber wie ich weiß, START_STICKY neu erstellt, wenn der Dienst gestoppt ist. Problem ist, warum meine Anwendung den Dienst zerstört, nachdem es geschlossen wurde. – dracula

Verwandte Themen