[實踐] Android5.1.1源碼 - getRunningTasks解除限制得到完整信息

[實踐] Android5.1.1源碼 - getRunningTasks解除限制得到完整信息

@(Android研究)[自定義ROM]java


[TOC]android


不歪博客:http://my.oschina.net/ibuwai/blog.net

前言

Android5.X及其之後的版本的系統中ActivityManager.getRunningTasks方法僅能得到應用自身正在運行的任務,而不能得到其餘應用的棧頂Activity。本文經過修改Android5.1.1的源碼解除這個限制。code

實踐

找到"frameworks/base/services/core/java/com/android/server/am/ActivityStack.java"文件,而後找到"void getTasksLocked(List<RunningTaskInfo> list, int callingUid, boolean allowed)"方法,在該方法中找到下面的代碼:server

if (!allowed && !task.isHomeTask() && task.effectiveUid != callingUid) {
    continue;
}

將其改成:blog

if (activities.isEmpty()) {
    continue;
}
相關文章
相關標籤/搜索