直接上代码:
/**
* 判断服务是否后台运行
*
* @param context
* Context
* @param className
* 判断的服务名字
* @return true 在运行 false 不在运行
*/
public static boolean isServiceRun(Context mContext, String className) {
boolean isRun = false;
ActivityManager activityManager = (ActivityManager) mContext
.getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningServiceInfo> serviceList = activityManager
.getRunningServices(40);
int size = serviceList.size();
for (int i = 0; i < size; i++) {
if (serviceList.get(i).service.getClassName().equals(className) == true) {
isRun = true;
break;
}
}
return isRun;
}
使用代码:
boolean isRun = isServiceRun(getApplicationContext(), "com.baidu.location.f");
注:com.baidu.location.f为service的全类名。