サービスをバックグラウンドで実行する必要がありますが、Android によって強制終了されたままになっている間は、何度も開始する必要があります。また、プログラミングの目的のために、サービスが実行されているかどうかを知る必要があります。これは、2 番目のサービスを同時に開始し、メソッドを 2 回開始し続けるためです。
私はこれまでにこれを試しました:
private boolean isServiceRunning() {
ActivityManager manager = (ActivityManager) getApplicationContext().getSystemService(Context.ACTIVITY_SERVICE);
for (RunningServiceInfo service : manager
.getRunningServices(Integer.MAX_VALUE)) {
if (NotificationService.class.getName().equals(
service.service.getClassName())) {
return true;
}
}
return false;
}
しかし、私が読んだように、それは私のサービスが開始されたときにのみ可能です
startService(Intent);
たとえば、2分ごとにAlarmManagerでサービスを開始するため、サービスが実行されているかどうかを確認する方法がわかりません。おそらく、サービス開始メソッドを2回以上回避する方法を知っていれば、満足できます.