【问题标题】:Using ADB command know the name of application focussed using adb [duplicate]使用 ADB 命令知道使用 adb 关注的应用程序的名称 [重复]
【发布时间】:2013-06-18 10:34:35
【问题描述】:

我正在使用

adb shell 输入keyevent KEYCODE_DPAD_LEFT

要关注应用程序,现在我想知道使用 adb shell 命令关注的应用程序的名称。

注意:不完全是应用程序的名称,它可以专注于任何事情。所以我想得到它关注的文本。

【问题讨论】:

标签: android adb


【解决方案1】:

好的。为此,您需要在手机上使用 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:/ #

现在您将看到哪个活动具有焦点:)

【讨论】:

  • 如果设备没有root,有什么办法
  • 当然,只需使用指令的第一部分:dumpsys window windows,然后在您的应用程序/脚本中从终端 grep 回答(您可以使用任何正则表达式来查找这些行)。
  • 它没有让 corret 应用成为焦点
  • 不可能,这个命令总是告诉你哪个应用有焦点。给我看看你的结果。
【解决方案2】:

你可以使用:

adb shell uiautomator dump /dev/tty

您将获得描述当前屏幕的 XML,其中一个 <node>-elements 将具有属性 focused="true"。它还可能有一个text-attribute 和更多的 UI 信息。

【讨论】:

    猜你喜欢
    • 2014-05-16
    • 2016-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-28
    • 1970-01-01
    • 2012-10-11
    • 1970-01-01
    相关资源
    最近更新 更多