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; } }