2013-11-09 11 views
5

私はAndroidでのサービスについてこの質問をしています。また、タスクがホームマネージャーで掃除された場合(ホームボタンを押したとき)、サービスの即時再開を防ぐ方法を教えてください。アクティビティがタスクスイッチャから掃除された後にサービスが再開されないようにするにはどうすればよいですか?

私はサービスが永続的で、それは自身のプロセスとメモリの画像です持って、私の活動のシャットのダウンは、この場合には離れタスクスイッチャーから掃引ときに、サービスが再起動しませんしたい...

でした誰でもこの問題を解決する方法を説明するチュートリアルやサイトを教えてください。

答えて

0

次のように別のプロセスであなたのサービスを入れて:アンドロイドマニフェストにあなたのサービスの宣言に

移動し、それを変更します。

<service android:name=".ServiceName" 
 
     android:process=":remote" />

注:

サービスが別々の場所で実行されているためLogCat(Android Studioを使用している場合)のプロセスを切り替えて、デバッグログを表示する必要があります。

どちらかが作成したとして破壊されbound serviceを作成します。

0

Servcicesはので、これが起こらないことを確認するために、(これは多くの要因があり、広範な文です)破壊されたときにバックグラウンドで再起動するように設計されています呼び出し元のアクティビティ:ときよう

この例では、ドキュメント

public class LocalService extends Service { 
    private final IBinder mBinder = new LocalBinder(); 

    public class LocalBinder extends Binder { 
     LocalService getService() { 
      return LocalService.this; 
     } 
    } 

    @Override 
    public IBinder onBind(Intent intent) { 
     return mBinder; 
    } 
} 

それともforegroundでサービスを実行してから撮影されますそれは破壊された前景から除去されます。

関連する問題