我在我的应用程序中运行一个服务,每小时获取一次通知。
这个服务确实每小时运行一次;我使用Logcat检查了它。
但是由于我在MainActivity的onResume()
中启动了这个服务,所以我想要检查服务是否已经在运行,只有在它没有运行时才启动它。
我使用了这段代码:
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()
的输出。我的服务没有在列表中。
这是因为我的应用程序未知吗?还是其他原因?