首页 > 代码库 > android判断某个应用或者activity是否在运行

android判断某个应用或者activity是否在运行


此方法是封装的在我的应用中需要去查看我的应用以及判断某个activity是否是运行在手机界面上

packageName 是需要判断是应用的包名  比如  com.xy.tencent

也可以判断某个activity是否显示在当前手机上面  反正就是写完整的路径就可以了!


<span style="font-size:18px;">/**
	 * 判断程序的运行在前台还是后台
	 * 
	 * @param context
	 * @return 0在后台运行  大于0在前台运行  2表示当前主界面是MainFragmentActivity
	 */
	public static int isBackground(Context context) {
		ActivityManager activityManager = (ActivityManager) context
				.getSystemService(Context.ACTIVITY_SERVICE);
		String packageName = "com.xy.tencent";

		
		String bingMapMainActivityClassName = "com.xy.tencent.activity.MainFragmentActivity";
		List<RunningTaskInfo> tasksInfo = activityManager.getRunningTasks(1);
		if (tasksInfo.size() > 0) {
			ComponentName topConponent = tasksInfo.get(0).topActivity;
			LogUtil.d("TAG",
					"topConponent.getPackageName()..."
							+ topConponent.getPackageName());
			if (packageName.equals(topConponent.getPackageName())) {
				// 当前的APP在前台运行
				if (topConponent.getClassName().equals(
						bingMapMainActivityClassName)) {
					// 当前正在运行的是不是期望的Activity
					LogUtil.d("TAG", "MainFragmentActivity在运行");
					return 2;
				}
				LogUtil.d("TAG", "com.xy.tencent前台运行");
				return 1;
			} else {
				// 当前的APP在后台运行
				LogUtil.d("TAG", "com.xy.tencent后台运行");
				return 0;
			}
		}
		return 0;
	}</span>


android判断某个应用或者activity是否在运行