可以运行系统自带的函数来检测服务 getSystemService 是否正在运行,具体实现方法如下
/**
* 判断服务是否在运行
* @param context
* @param serviceName
* @return
* 服务名称为全路径 例如com.ghost.WidgetUpdateService
*/
public boolean isRunService(Context context,String serviceName) {
ActivityManager manager = (ActivityManager) context.getSystemService(ACTIVITY_SERVICE);
for (ActivityManager.RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) {
if (serviceName.equals(service.service.getClassName())) {
return true;
}
}
return false;
}