package com.hdl.photovoltaic.utils;
|
|
import android.app.ActivityManager;
|
import android.content.Context;
|
|
import com.hdl.photovoltaic.uni.MyForegroundService;
|
|
public class ServiceUtils {
|
/**
|
* 判断服务是否运行
|
* @param context 上下文
|
* @param serviceClass 服务类
|
* @return true表示正在运行,false表示未运行
|
*/
|
public static boolean isServiceRunning(Context context, Class<?> serviceClass) {
|
// 先检查静态标志(如果同进程)
|
if (serviceClass.equals(MyForegroundService.class)) {
|
if (MyForegroundService.isServiceRunning()) {
|
return true;
|
}
|
}
|
|
// 通过ActivityManager检查
|
ActivityManager manager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
|
for (ActivityManager.RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) {
|
if (serviceClass.getName().equals(service.service.getClassName())) {
|
return true;
|
}
|
}
|
return false;
|
}
|
}
|