アプリケーションで 1 時間ごとに通知を受け取るサービスを実行しています。
サービスは確実に 1 時間ごとに実行されます。Logcat を使用して確認しました。
しかしonResume()
、MainActivity でこのサービスを開始しているので、サービスが既に実行されているかどうかを確認し、実行されていない場合にのみ開始します。
私はこのコードを使用しました:
private boolean isMyServiceRunning() {
ActivityManager manager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
for (RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) {
if ("com.android.MyApp.MyServices.NotificationsService".equals(service.service.getClassName())) {
return true;
}
}
return false;
}
しかし、私は常にfalseになります。
だから私は出力が何を与えるかをチェックしましたservice.service.getClassName()
。そして私のサービスはリストにありません。
私のアプリケーションが不明だからですか?または、他の何か?