转自:http://blog.csdn.net/u012810020/article/details/52789032
public class AppUtils { /** * 方法描述:判断某一应用是否正在运行 * * @param context 上下文 * @param packageName 应用的包名 * @return true 表示正在运行,false表示没有运行 */ public static boolean isAppRunning(Context context, String packageName) { boolean isAppRunning = false; ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); List<ActivityManager.RunningTaskInfo> list = am.getRunningTasks(100); if (list.size() <= 0) { return false; } for (ActivityManager.RunningTaskInfo info : list) { if (info.baseActivity.getPackageName().equals(packageName)) { return true; } } return false; } /** * 方法描述:判断某一Service是否正在运行 * * @param context 上下文 * @param serviceName Service的全路径: 包名 + service的类名 * @return true 表示正在运行,false 表示没有运行 */ public static boolean isServiceRunning(Context context, String serviceName) { ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); List<ActivityManager.RunningServiceInfo> runningServiceInfos = am.getRunningServices(200); if (runningServiceInfos.size() <= 0) { return false; } for (ActivityManager.RunningServiceInfo serviceInfo : runningServiceInfos) { if (serviceInfo.service.getClassName().equals(serviceName)) { return true; } } return false; } }