【发布时间】:2013-06-18 10:34:35
【问题描述】:
我正在使用
adb shell 输入keyevent KEYCODE_DPAD_LEFT
要关注应用程序,现在我想知道使用 adb shell 命令关注的应用程序的名称。
注意:不完全是应用程序的名称,它可以专注于任何事情。所以我想得到它关注的文本。
【问题讨论】:
-
也stackoverflow.com/q/26586685/1778421 找出哪个特定视图具有焦点
我正在使用
adb shell 输入keyevent KEYCODE_DPAD_LEFT
要关注应用程序,现在我想知道使用 adb shell 命令关注的应用程序的名称。
注意:不完全是应用程序的名称,它可以专注于任何事情。所以我想得到它关注的文本。
【问题讨论】:
好的。为此,您需要在手机上使用 grep 终端应用程序(使用带有 busybox 包的 root 手机最简单的方法)。让我们执行以下相同的步骤:
C:\Users\Hasan>adb shell input keyevent KEYCODE_DPAD_LEFT
C:\Users\Hasan>adb shell
shell@android:/ $ su
su
root@android:/ # dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp'
dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp'
mCurrentFocus=Window{42079c60 com.jrummy.liberty.toolboxpro/com.jrummy.apps.rom.toolbox.RomToolboxActivity paused=false}
mFocusedApp=AppWindowToken{4283d918 token=Token{426709a8 ActivityRecord{41e37c60 com.jrummy.liberty.toolboxpro/com.jrummy.apps.rom.toolbox.RomToolboxActivity}}}
root@android:/ #
现在您将看到哪个活动具有焦点:)
【讨论】:
你可以使用:
adb shell uiautomator dump /dev/tty
您将获得描述当前屏幕的 XML,其中一个 <node>-elements 将具有属性 focused="true"。它还可能有一个text-attribute 和更多的 UI 信息。
【讨论】: