2013-08-21 11 views
5

私は受信者経由で私のサービスと通信するアプリケーションを開発しています。アプリケーションが終了してアンドロイドサービスが再開します

サービスコード

@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; 
    } 

サービスのマニフェスト宣言

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

問題は、アプリケーション(このサービスを使用して自分のアプリケーション)の後に自動的に再起動殺害されていることです。どうすればこれを防ぐことができますか?アンドロイドを削除しようとしました:プロセスは何も変わりません。

お待ちしています。あなたはあなたが代わりにstart_not_stickyを返す必要がonStartCommand()

START_STICKYを戻ってきているため、サービスが自動的に再起動し

おかげ

+1

あなたは今までに解決策を見つけますか?私は同じ問題を経験しています – StuStirling

答えて

6

詳細情報については、これを読んでください:START_STICKY and START_NOT_STICKY

+6

あなたの返事をありがとう。しかし、私が知っているように、START_STICKYはサービスが停止していれば再作成されます。問題は、アプリケーションが閉じられた後にサービスが破棄される理由です。 – dracula

関連する問題