被判断的Service 必须是带包名的全名
通过Service的类名来判断是否启动某个服务
private boolean MusicServiceIsStart(List<ActivityManager.RunningServiceInfo> mServiceList,String className){ for(int i = 0; i < mServiceList.size(); i ++){ if(className.equals(mServiceList.get(i).service.getClassName())){ return true; } } return false; } 获取所有启动的服务的类名
private String getServiceClassName(List<ActivityManager.RunningServiceInfo> mServiceList){ String res = ""; for(int i = 0; i < mServiceList.size(); i ++){ res+=mServiceList.get(i).service.getClassName()+ " /n"; } return res; } 判断服务是否存在
ActivityManager mActivityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE); List<ActivityManager.RunningServiceInfo> mServiceList = mActivityManager.getRunningServices(30); // 我要判断的服务名字,必须是带包名的全名 final String musicClassName = "rod.fasdf.TService"; boolean b = MusicServiceIsStart(mServiceList, musicClassName); System.out.println("服务是否开启======>"+b);