get_display_id() { local focus=$(dumpsys window | grep "mCurrentFocus" | tail -n 1 | awk '{print $NF}' | cut -d'}' -f1) local displays=$(dumpsys window | grep display | grep 'imeInputTarget') echo "$displays" | grep "$focus" | cut -d'#' -f2 } 我想让他输出成0 com.ktcp.video/com.ktcp.video.activity.detail.DetailCoverActivity
时间: 2024-03-02 17:47:56 浏览: 166
android_sdk_linux_m3-rc20a.zip_Linux sdk_android-sdk-lin_android
这段代码是 Shell 脚本,主要作用是获取当前焦点窗口所在的显示器 ID。如果你想让它输出 "0 com.ktcp.video/com.ktcp.video.activity.detail.DetailCoverActivity",需要对其中一些部分进行修改。
首先,你需要明确 "0 com.ktcp.video/com.ktcp.video.activity.detail.DetailCoverActivity" 是什么意思。这个字符串由两部分组成,以空格分隔开来。第一部分是显示器 ID,第二部分是应用程序的包名和活动名。
在这个脚本中,显示器 ID 是通过以下命令获取的:
```
echo "$displays" | grep "$focus" | cut -d'#' -f2
```
其中,$displays 是通过 dumpsys window 命令获取的所有显示器信息,$focus 是通过 grep 命令过滤出来的当前焦点窗口名。这个命令的作用是在 $displays 中查找包含 $focus 的那一行,并提取出其中的第二个字段(即显示器 ID)。
如果你想直接输出 "0 com.ktcp.video/com.ktcp.video.activity.detail.DetailCoverActivity",可以将上面的命令替换为:
```
echo "0 com.ktcp.video/com.ktcp.video.activity.detail.DetailCoverActivity"
```
这样就可以直接输出这个字符串了。不过,这样做有可能会导致你的脚本失去了一些实用性,因为你无法再根据当前焦点窗口获取对应的显示器 ID 了。
阅读全文