Android 判断app是否在前台还是在后台运行

Android 判断app是否在前台还是在后台运行,直接看代码,可直接使用。

public static boolean isBackground(Context context) {
		ActivityManager activityManager = (ActivityManager) context
				.getSystemService(Context.ACTIVITY_SERVICE);
		List<RunningAppProcessInfo> appProcesses = activityManager
				.getRunningAppProcesses();
		for (RunningAppProcessInfo appProcess : appProcesses) {
			if (appProcess.processName.equals(context.getPackageName())) {
				/*
				BACKGROUND=400 EMPTY=500 FOREGROUND=100
				GONE=1000 PERCEPTIBLE=130 SERVICE=300 ISIBLE=200
				 */
				Log.i(context.getPackageName(), "此appimportace ="
						+ appProcess.importance
						+ ",context.getClass().getName()="
						+ context.getClass().getName());
				if (appProcess.importance != RunningAppProcessInfo.IMPORTANCE_FOREGROUND) {
					Log.i(context.getPackageName(), "处于后台"
							+ appProcess.processName);
					return true;
				} else {
					Log.i(context.getPackageName(), "处于前台"
							+ appProcess.processName);
					return false;
				}
			}
		}
		return false;
	}
时间: 2024-10-05 11:42:51

Android 判断app是否在前台还是在后台运行的相关文章

Android判断App是否在前台运行(转)

原文地址: http://blog.csdn.net/zuolongsnail/article/details/8168689 Android开发中,有时候需要判断App是否在前台运行. 代码实现如下: [java] view plaincopy private boolean isRunningForeground (Context context) { ActivityManager am = (ActivityManager)context.getSystemService(Context

Android判断App是否在前台运行

版权声明:本文为博主原创文章,未经博主允许不得转载. //当前应用是否处于前台 private boolean isForeground(Context context) { if (context != null) { ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); List<ActivityManager.RunningAppProc

android 判断app是否处于前台

逻辑是获取系统的运行栈,处于栈顶的就是处于前台的app,然后对比包名,不同则表示app处于后台,反之,则表示app处于前台. /** * app是否在后台 * * @param context * @return true 是 false 不是 */ public static boolean isBackground(Context context) { ActivityManager am = (ActivityManager) context.getSystemService(Contex

Android 判断app是否在前台运行

<!-- 前台还是后台 --> <uses-permission android:name="android.permission.GET_TASKS" /> 1 private boolean isForeground(Context context) { 2 ActivityManager am = (ActivityManager) context 3 .getSystemService(Context.ACTIVITY_SERVICE); 4 Compo

Android 判断app何时是打开或者关闭的技术研究

只有两种东西能让一个团队团结,恐惧或忠诚.---<速度与激情7> 原文链接:http://engineering.meetme.com/2015/04/android-determine-when-app-is-opened-or-closed/ 存在的问题 Android开发中不可避免的会遇到需要检查app何时进入前台,何时被用户关闭.奇怪的是,要达到这个目的并不容易.检查app第一次启动并不难,但要判断它何时重新打开和关闭就没有那么简单了. 这篇文章将介绍一种判断app打开,重新打开和关闭

android判断app前后台状态

项目中需要在应用从后台切换到前台时做操作,自己实现了功能,但对这块的机制不太了解,So.找了相关的资料来学习总结下. !!! 部分资料来源https://github.com/wenmingvs/AndroidProcess !!!!!!整理了半天,跟程序抓了不少图来解释,尼玛发了以后图全没了,格式也乱,补了几张凑合看吧.   要了解这块,首先需要明白一些概念,app,process,task 1.process就是进程,是linux的概念. 2.一般一个app拥有一个uid,运行在一个进程里,

判断App整体处于前台还是后台

转载请注明转自:[noyet12的博客](http://blog.csdn.net/u012975705) 博客原址:http://blog.csdn.net/u012975705/article/details/50109883 上篇博客说道,在项目中使用Notification,想要的效果是在app退出前台工作时拉取后台数据,发现新动态则在通知栏提示用户.要达到这个效果,就必须判断当前app是否处于前台工作,下面给出判断方法. public boolean isAppOnForeground

判断app是在前台还是后台

if(application.applicationState == UIApplicationStateActive) { NSLog(@"前台"); } if (application.applicationState == UIApplicationStateBackground) { NSLog(@"后台"); } if (application.applicationState == UIApplicationStateInactive) { NSLog(

判断app是否运行于前台的两个方法

经常遇到这种情况,app收到新消息,如果app不在前台,则在手机通知栏发送一个通知提醒.那么,如何判断app是否处于前台 检验当前app是否运行于前台,而没有被最小化,上网查了一下解决方案,看到一段代码是可以实现的: public boolean isRunningForeground(Context context){ ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE