我正在运行一项服务以在我的应用程序中每 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;
}
但我总是假的。
所以我检查了输出service.service.getClassName()
给出的内容。我的服务不在列表中。
是因为我的应用程序未知吗?或者是其他东西?