Context context = null; // FIXME: init with your context. ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); List<RunningAppProcessInfo> procInfos = activityManager.getRunningAppProcesses(); for (int i = 0; i < procInfos.size(); i++) { if (procInfos.get(i).importance == RunningAppProcessInfo.IMPORTANCE_FOREGROUND) { //the current running process Log.d("FOREGROUND_Application", procInfos.get(i).processName + "is running on the FOREGROUND"); } }
/**
* 判断应用程序是否在前台 需要权限<uses-permission
* android:name="android.permission.GET_TASKS"/>
*
* @param activity
* @return 是否在前台
*/
public boolean isActive() {
String packageName = instance.getPackageName();// 获取应用程序包名
ActivityManager activityManager = (ActivityManager) instance
.getSystemService(Context.ACTIVITY_SERVICE);
List<RunningTaskInfo> tasksInfo = activityManager.getRunningTasks(1);
if (tasksInfo.size() > 0) {
// 应用程序位于堆栈的顶层
if (packageName.equals(tasksInfo.get(0).topActivity.getPackageName())) {
return true;
}
}
return false;
}
ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
List<RunningAppProcessInfo> procInfos = activityManager.getRunningAppProcesses();
for (int i = 0; i < procInfos.size(); i++) {
if (procInfos.get(i).importance == RunningAppProcessInfo.IMPORTANCE_FOREGROUND) {
//the current running process
Log.d("FOREGROUND_Application", procInfos.get(i).processName + "is running on the FOREGROUND");
}
}