我想检查我的服务是否正在运行,我正在使用下面的代码,这个代码工作正常,直到牛轧糖但不在OREO工作
private boolean isMyServiceRunning(Class<?> serviceClass, Context context) {
ActivityManager manager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
for (ActivityManager.RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) {
Log.d(TAG, "isMyServiceRunning: " + service.service.getClassName());
if (serviceClass.getName().equals(service.service.getClassName())) {
return true;
}
}
return false;
}
但上面的代码不适用于前台服务。
我推荐了this,但它也没有用..
自API 26以来,ActivityManager.getRunningServices()
API一直是deprecated,从Oreo开始不再提供。它仅用于调试,而不是用于生产应用程序。您不应该依赖此类API来为您的应用程序。