打印Activity的调用者
有时候我们会发现自己应用中的某个Activity被陌名奇妙的打开了,但是不知道是哪里的代码打开的,此时可以打印Activity的调用堆栈,在Activity的onCreate函数中添加如下代码:
Arrays.stream(Thread.currentThread().getStackTrace()).filter(element -> element.getClassName().startsWith("com.yourpackage")).forEach(element -> Log.d("FilteredStack", element.toString()));
startsWith
为过虑自己应用的包名,因为堆栈会包含很多系统的。