android L 变化之 ActivityManager.getRunningTasks不能获取当前的task列表了
官方解释如下:
@deprecated Asof {@link android.os.Build.VERSION_CODES#LOLLIPOP}, this method is no longeravailable to third party applications: the introduction of document-centricrecents means it can leak person information to the caller.For backwardscompatibility,it will still retu rn a small subset of its data: at least thecaller's own tasks, and possibly some other tasks such as home that are knownto not be sensitive.
可以通过以下两种方式得到topActivity的信息:
1)利用ActivityManager.getRunningAppProcesses();获得当前正在运行的所有应用程序的进程。然后根据当前进程信息里的importance和processState来确定当前在顶部的进程。不过这里得到的进程信息里只有被载入当前进程的所有包名pkgList,所以只能判断当前列表有没有你需要监控的包名。
private String[] getActivePackages() {
final Set<String> activePackages