有时候要在程序中监听系统中正在运行的程序,或者说监听当前的Activity中哪一个。下面是过程:
1.得到Activity管理服务
ActivityManager mActivityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
2.得到正在运行的任务(参数是最多得到多少个正在运行的任务)
List<ActivityManager.RunningTaskInfo> taskInfo = mActivityManager.getRunningTasks(1);
3.得到栈顶的任务包名
if (taskInfo.get(0).topActivity.getPackageName().equals("com.android.launcher")) {
// 栈顶是否是桌面
}