我使用以下代码将前台应用程序的活动名称存储在变量foregroundTaskPackageName中。它适用于Android 4.1到4.4之间的所有操作系统版本,但在Android 5.0 Lollipop上无法正常工作。
有人可以帮忙解释一下Lollipop中发生了什么变化吗?在Lollipop中,我得到的foregroundTaskPackageName文本只是“Launcher3”。我正在使用Genymotion模拟器。
ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
RunningTaskInfo foregroundTaskInfo = am.getRunningTasks(1).get(0); // get
// list
// of
// running
// tasks
String foregroundTaskAppName = null;
String foregroundTaskPackageName = foregroundTaskInfo.topActivity
.getPackageName();