package com.lfk.justwetools.Utils;
import android.app.ActivityManager;
import android.content.Context;
import android.content.Intent;
import java.util.List;
/**
* 服务工具类
* @author liufengkai
*/
public class ServiceUtils {
/**
* 判断service是否正在运行
*
* @param context
* @param className
* @return
*/
public static boolean isServiceRunning(Context context, String className) {
boolean isRunning = false;
ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningServiceInfo> serviceList = activityManager.getRunningServices(Integer.MAX_VALUE);
if (serviceList.size() <= 0) {
return false;
}
for (int i = 0; i < serviceList.size(); i++) {
if (serviceList.get(i).service.getClassName().equals(className) == true) {
isRunning = true;
break;
}
}
return isRunning;
}
/**
* 启动服务,不会重复启动
*
* @param context
* @param clazz
* @param loginedUser
*/
public static void startService(Context context, Class clazz, Intent intent) {
if (!isServiceRunning(context, clazz.getName())) {
context.startService(intent);
}
}
/**
* 关闭服务,会判断服务是否启动着
*
* @param context
* @param clazz
* @param loginedUser
*/
public static void stopService(Context context, Class clazz) {
if (isServiceRunning(context, clazz.getName())) {
context.stopService(new Intent(context, clazz));
}
}
}