不是我是想根据当前焦点窗口获取对应的显示器 ID 来输出的
时间: 2024-03-02 08:47:59 浏览: 131
好的,那么你可以将上面提到的命令稍作修改,让它输出你期望的字符串。具体来说,你可以将命令修改为:
```
local focus=$(dumpsys window | grep "mCurrentFocus" | tail -n 1 | awk '{print $NF}' | cut -d'}' -f1)
local displays=$(dumpsys window | grep display)
local display_id=$(echo "$displays" | grep "$focus" | head -n 1 | cut -d'#' -f2)
local activity=$(echo "$focus" | awk -F/ '{print $1}' | tr -d '{')
echo "$display_id $activity/$focus"
```
这个命令的作用是:
1. 通过 dumpsys window 命令获取所有显示器信息,并将其保存到 $displays 变量中。
2. 通过 dumpsys window 命令获取当前焦点窗口名,并将其保存到 $focus 变量中。
3. 从 $displays 中查找包含 $focus 的那一行,并提取出其中的第二个字段(即显示器 ID),保存到 $display_id 变量中。
4. 从 $focus 中提取出应用程序的包名和活动名,并将其保存到 $activity 变量中。
5. 输出显示器 ID 和应用程序的包名和活动名。
这样,你就可以通过这个命令输出类似 "0 com.ktcp.video/com.ktcp.video.activity.detail.DetailCoverActivity" 的字符串了。
阅读全文