1, 查看那个broadcast发的intent
adb shell dumpsys activity broadcasts 然后查看 history
2,修改Android AOSP的代码, BroadcastQueue.java
final void processNextBroadcastLocked(boolean fromMsg, boolean skipOomAdj) {
//把打印加在 BroadcastRecord r; 刚取出来的时候.大约在845 行。见下:
// First, deliver any non-serialized broadcasts right away.
while (mParallelBroadcasts.size() > 0) {
r = mParalledlBroadcasts.remove(0);
//将打印放在这,关键匹配的action,直接printStackTrace.就能看清触发机制
//r 的信息很多,例如 r.callerPackage
// r.intent.getAction() ,再加上,自己关心的intent如果匹配,直接backtrace。
// Exception e = new Exception();
// e.printStackTrace();
}