私のアプリの起動時にサービスを開始しようとしていますが、サービスを終了することを決定したときにサービスを再開する必要があります。彼は強制的にアプリを閉じることができますが、アプリの実行中はサービスの終了を防ぐ必要があります)。アプリケーションのonCreateでサービスを開始する
だから私は、Applicationクラスを拡張について行き、これは私がサービスを開始するためにやっているものです...
ServiceConnection conn = new ServiceConnection() {
public void onServiceConnected(ComponentName className, IBinder service) {
Log.d("start","ok");
}
public void onServiceDisconnected(ComponentName className) {
}
};
bindService(new Intent(this,DueService.class), conn, 0);
これは、しかし、サービスを開始しません。しかし、startServiceを使用するとうまくいくようです。何か案は?
ので、どのようにアプリ、その後、私は、サーバーからのライブデータをフェッチしておくことができ、そして私は、データをフェッチすることができない場合ことを、示唆しています正しく実行できません。だから私は2つのオプションが、いずれか、アプリがクラッシュするか、またはサービスを再起動します。 – Amit
バインディングサービスなしでstartService(インテント)を意味するサービスを使用する場合の問題は何ですか? ? – Dharmendra
@Amit:それぞれのアクティビティから 'bindService()'と 'unbindService()'を呼び出します。または、あなたのエントリーポイントアクティビティ(または、場合によっては 'Application')から' startService() 'を呼び出して、あなたのアクティビティがいつ来るかを追跡します。そうであれば' stopService() 'でサービスをシャットダウンできます。不要になりました。 – CommonsWare