【发布时间】:2014-10-21 16:32:19
【问题描述】:
所以我们都知道 ActivityManager 上的 getRecentTasks() 和 getRunningTasks() 现在已弃用,将在 Android L 及更高版本的设备上返回缩减的结果集。
Alternative to getRunningTasks in Android L
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 中实现类似的功能?
【问题讨论】:
-
他们删除它的全部原因难道不是为了防止人们编写干扰他人的应用程序,即完全停止你正在尝试做的事情?
-
请在另一个线程中查看我的答案:stackoverflow.com/a/27140347/847478
标签: java android android-5.0-lollipop activity-manager