获取当前显示的Activity
c
adb shell "dumpsys window | grep mCurrentFocus"
- 指令拆解
adb shell
:启动一个远程shell
来运行设备上的命令dumpsys window
:获取当前窗口管理器的信息|
:将前一个命令的输出作为后一个命令的输入grep mCurrentFocus
:过滤出包含mCurrentFocus
字符串的行,找到当前获取焦点的窗口,一般是前台Activity
获取添加到FragmentManager
并且正在显示的Fragment
c
adb shell "dumpsys activity top | grep '#[0-9]: ' | tail -n 1"
- 指令拆解
dumpsys activity top
:获取栈顶Activity的信息,会有大量信息输出,包括在Activity
栈中的位置,View
嵌套层级信息,已经添加的Fragment
信息,例如添加的Fragment
:
c
Added Fragments:
#0: YangFragment{f6e11fe} (a7ee7769-f7ed-4abb-9859-26e195eca6d8 id=0x7f0a00d5 tag=fragment)
grep '#[0-9]: '
:过滤已经添加的Fragment
信息,Fragment
信息以#0
或者#数字
开头tail -n 1
:获取已经添加Fragment
列表的最后一行,也就是最顶层的Fragment
,排除DialogFragment
等没有添加到FragmentManger
中的Fragment