リモートサービスを作成しました。このサービスは、最初に起動したときにアクティビティによって開始されます。その後、アクティビティは、サービスが再開されないように、サービスが開始されているかどうかを常に確認します。
このサービスは、onCreate関数でいくつかのメソッドを実行します。このサービスは常に実行されており、起動時にも開始されます。
問題(大きな問題ではありませんが、理由を知りたいです)は、アクティビティを停止するとonTaskRemovedが呼び出されてサービスが作成されると、これは正しいですが、数秒後にoncreateメソッドが再度呼び出され、サービスが開始されますまた。
なぜですか?そして、どうすればこれを制御できますか?
<service
android:name=".Service"
android:icon="@drawable/ic_launcher"
android:label="@string/service_name"
android:process=":update_process" >
</service>
AndroidManifest.xml
if (!isRunning()) {
Intent service = new Intent(this, UpdateService.class);
startService(service);
} else {
//Just to debug, comment it later
Toast.makeText(this, "Service was running", Toast.LENGTH_SHORT).show();
}
サービスが実行されていなかった場合にサービスが開始されたとき