#!/system/bin/sh local id_activity=$(dumpsys window | grep display | grep 'imeInputTarget' | awk '{print $4,$7}' | cut -d'}' -f1) local focus=$(dumpsys window | grep "mCurrentFocus" | tail -n 1 | awk '{print $NF}' | cut -d'}' -f1) local activity=$(echo "$id_activity" | grep "$focus") if [ "$activity" = "$id_activity | awk '{print $2}'" ] then am start -n ""$id_activity" | awk '{print $4}'" --display "$id_activity | awk '{print $3}'" else am start -n ""$id_activity" | awk '{print $2}'" --display "$id_activity | awk '{print $1}'" fi
时间: 2024-04-27 21:24:31 浏览: 144
cepheus_input.txt(dumpsys input信息)
这是一个 Shell 脚本,主要作用是获取当前正在运行的应用程序的窗口信息,并启动另一个应用程序。脚本首先使用 `dumpsys window` 命令获取当前输入法窗口和焦点窗口的信息,然后比较这两个窗口信息,以确定当前应用程序的名称和 ID。接着,脚本使用 `am start` 命令启动目标应用程序,并根据当前应用程序的显示 ID 指定启动目标应用程序的显示 ID。
需要注意的是,这个脚本中有一些错误的命令和语法错误,例如 `"$activity" = "$id_activity | awk '{print $2}'"`,这个语句中应该使用 `echo` 命令将 `$id_activity` 和 `$activity` 的值输出到管道中,然后再使用 `awk` 命令提取需要的值,所以应该改为 `echo "$activity" | awk '{print $2}'`。此外,`am start` 命令中的应用程序包名和类名应该使用正确的值。
阅读全文