dumpsys window | grep display | grep 'imeInputTarget' | cut -d'#' -f2 | awk '{print $1}' && dumpsys window | grep display | grep 'imeInputTarget' | cut -d'#' -f2 | awk '{print $NF}' | cut -d'}' -f1 0 2 com.ktcp.video/com.ktcp.video.activity.ScreenSaverActivity com.tencent.start.tv/com.tencent.start.ui.SplashActivity
时间: 2024-03-02 13:49:38 浏览: 19
这个命令输出了当前输入法窗口所在应用的包名和窗口信息。其中,`com.ktcp.video/com.ktcp.video.activity.ScreenSaverActivity` 表示第一个应用程序的栈顶 Activity 是 `ScreenSaverActivity`,而 `com.tencent.start.tv/com.tencent.start.ui.SplashActivity` 则表示第二个应用程序的栈顶 Activity 是 `SplashActivity`。
如果你只想要包名和栈顶 Activity 的信息,可以使用以下命令:
```
adb shell dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp' && adb shell dumpsys activity top | grep 'ACTIVITY' | head -n 2 | awk -F ' ' '{print $4}'
```
这个命令会先输出当前焦点窗口所在应用的信息,然后输出前两个 Activity 的包名和类名,即第一个应用程序的栈顶 Activity 和第二个应用程序的栈顶 Activity。你可以根据需要对输出结果进行处理,提取出包名和栈顶 Activity 的信息。
相关问题
dumpsys window | grep display | grep 'imeInputTarget' | cut -d'#' -f2 | awk '{print $1}' | sed 's/#/ /' 0 2
这是一个用于获取当前输入法窗口 ID 的命令,具体来说:
- dumpsys window:输出窗口系统的信息
- grep display:筛选包含 display 的行
- grep 'imeInputTarget':筛选包含 imeInputTarget 的行,这行信息包含了当前输入法窗口的 ID
- cut -d'#' -f2:按 # 分割,取第二个字段,即输入法窗口的 ID
- awk '{print $1}':输出第一个字段,即输入法窗口的 ID
- sed 's/#/ /':将 # 替换为空格,这样输出的就是纯数字的输入法窗口 ID。
如果你想了解更多关于 Android 系统的命令,请参考 Android 开发者文档中的相关章节。
dumpsys window | grep display | grep 'imeInputTarget' | awk -F '[{ }]' '{print $3, $NF}' | cut -d '#' -f 2 imeInputTarget imeInputTarget
非常抱歉,我之前的回答有误。正确的命令应该是:
```
dumpsys window | grep display | grep 'imeInputTarget' | awk -F '[{ }]' '{print $NF}' | cut -d '#' -f 2
```
该命令的执行流程如下:
1. 使用`dumpsys window`命令获取窗口信息,使用`grep display | grep 'imeInputTarget'`命令获取当前输入法目标所在的所有显示器信息。
2. 使用`awk -F '[{ }]' '{print $NF}'`命令将每行输出结果使用大括号分割,提取最后一个字段(Activity名称和显示器ID)。
3. 使用`cut -d '#' -f 2`命令仅提取显示器ID,并将两行输出结果合并成一行。
输出结果类似于:
```
0
2
```
其中,每行为一个显示器的ID。