通过以下代码我想检查服务状态,如启动或停止,但此方法总是返回false,我无法检查
public static boolean isServiceRunning(Context context, String className) {
boolean isRunning = false;
ActivityManager activityManager
= (ActivityManager) context.getSystemService(
Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningServiceInfo> servicesList
= activityManager.getRunningServices(Integer.MAX_VALUE);
for (ActivityManager.RunningServiceInfo si : servicesList) {
if (className.equals(si.service.getClassName())) {
isRunning = true;
}
}
return isRunning;
}
我将Service
简化为DownloadFile
并使用
boolean state = isServiceRunning("DownloadFile");
我正在尝试检查并测试
答案 0 :(得分:0)
您可以尝试以下内容:
private boolean isMyServiceRunning(Class<?> serviceClass) {
ActivityManager manager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
for (RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) {
if (serviceClass.getName().equals(service.service.getClassName())) {
return true;
}
}
return false;
}
使用:isMyServiceRunning(MyService.class)