Android判断App是否在前台运行

Posted xz_xiaoshan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android判断App是否在前台运行相关的知识,希望对你有一定的参考价值。

// android开发中,有时候需要判断App是否在前台运行。 代码实现如下:

	private boolean isRunningForeground(Context context) {
		ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
		ComponentName cn = am.getRunningTasks(1).get(0).topActivity;
		String currentPackageName = cn.getPackageName();
		if (currentPackageName != null && currentPackageName.equals(getPackageName())) {
			return true;
		}
		return false;
	}
//注意:AndroidManifest.xml中需增加< uses-permission android:name =“android.permission.GET_TASKS” />
	protected static boolean isTopActivity(Activity activity) {
		String packageName = "xxxxx";
		ActivityManager activityManager = (ActivityManager) activity.getSystemService(Context.ACTIVITY_SERVICE);
		List<RunningTaskInfo> tasksInfo = activityManager.getRunningTasks(1);
		if (tasksInfo.size() > 0) {
			System.out.println("---------------包名-----------" + tasksInfo.get(0).topActivity.getPackageName());
			// 应用程序位于堆栈的顶层
			if (packageName.equals(tasksInfo.get(0).topActivity.getPackageName())) {
				return true;
			}
		}
		return false;
	}
//需要添加android.permission.GET_TASKS权限





以上是关于Android判断App是否在前台运行的主要内容,如果未能解决你的问题,请参考以下文章

Android判断App是否在前台运行

android 判断app是否处于前台

Android判断应用在前台还是后台运行(判断应用前后台切换)

Android判断应用在前台还是后台运行(判断应用前后台切换)

Android,前台服务让app保持活力吗?

Android中判断app何时启动和关闭的技术研究