私のプロジェクトでは、ボタンがクリックされたときにサービスを開始しています。ただし、前のボタンがすでに停止されていない限り、そのボタンがクリックされたときにそのサービスを再開したくありません。そのため、最初にサービスが実行されているかどうかを確認する必要があります。私は次の方法を使用しました
private boolean isMyServiceRunning() {
ActivityManager manager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
for (RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) {
if ("com.example.MyService".equals(service.service.getClassName())) {
return true;
}
}
return false;
}
しかし、それは私にとっては機能しません。例外は発生しませんが、常にfalseを返します。私は今どうすればいい?