[实践] Android5.1.1源码 - getRunningTasks解除限制获得完整信息
@(Android研究)[自定义ROM]
[TOC]
前言
Android5.X及其以后的版本的系统中ActivityManager.getRunningTasks方法仅能获得应用自身正在运行的任务,而不能获得其他应用的栈顶Activity。本文通过修改Android5.1.1的源码解除这个限制。
实践
找到"frameworks/base/services/core/java/com/android/server/am/ActivityStack.java"文件,然后找到"void getTasksLocked(List<RunningTaskInfo> list, int callingUid, boolean allowed)"方法,在该方法中找到下面的代码:
if (!allowed && !task.isHomeTask() && task.effectiveUid != callingUid) {
continue;
}
将其改为:
if (activities.isEmpty()) {
continue;
}
来源:oschina
链接:https://my.oschina.net/u/2489761/blog/746162