所以我们都知道 ActivityManager 上的 getRecentTasks() 和 getRunningTasks() 现在已被弃用,并且会在 Android L 及更高版本的设备上返回缩减的结果集。
Android L 中 getRunningTasks 的替代方案
https://code.google.com/p/android-developer-preview/issues/detail?id=29
但是,我正在尝试找到一种解决方案,以使我的 App Locker 应用程序在 Android L 上保持活动状态。我需要顶部 Activity 的包名称,以便在用户打开/启动锁定的应用程序时显示锁定屏幕。
它与这个应用程序非常相似:https: //play.google.com/store/apps/details?id=com.domobile.applock&hl=en
目前我正在使用这段代码:
ActivityManager mActivityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningTaskInfo> RunningTask = mActivityManager
.getRunningTasks(1);
ActivityManager.RunningTaskInfo ar = RunningTask.get(0);
String activityOnTop = ar.topActivity.getPackageName();
但它在 Android L 中不起作用,所以我不确定到底该怎么做......
我怎样才能在 Android L 中实现这样的东西?