gpt4 book ai didi

android - adb shell dumpsys 窗口窗口输出描述

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:46:15 33 4
gpt4 key购买 nike

我正在使用 appium用于我的 Android 设备和 java 代码之间的交互。我遇到的问题是,在某些设备(包括模拟器)上按下主页按钮后,appium 返回不正确的当前 Activity (它返回当前必须最小化的先前 Activity )。我发现 appium 使用了 dumpsys window windows获取当前应用程序的 mFocusedApp 值。我读了another answers关于获取 Android 当前 Activity ,主要推荐使用:

adb shell "dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp'"

这就是问题的根源,因为按下主页按钮后 mCurrentFocusmFocusedApp 链接到不同的 Activity 。但我找不到任何解释这些领域之间的区别。为什么 appium 只使用 mFocusedApp

最佳答案

mCurrentFocusmFocusedApp 之间的差异解释正盯着你看:

$ dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp'    mCurrentFocus=Window{X uX package/.activity}    mFocusedApp=AppWindowToken{X token=Token{X ActivityRecord{X uX package/.activity tX}}}

mCurrentFocus 是一个 Window(只是一个 view,它可能有也可能没有 ActivityRecord 关联它)

mFocusedApp 是一个 AppWindowToken(一个 app Token,它总是有一个 ActivityRecord)

因此,当输入焦点切换到具有 activityview 时 - mCurrentFocusmFocusedApp 都会显示相同的 Activity 。但有时焦点会切换到没有 activityview(例如 SystemUI 的一部分等)- 然后 mCurrentFocus 将显示 view mFocusedApp 仍将显示在上次切换之前获得焦点的 appActivityRecord

关于android - adb shell dumpsys 窗口窗口输出描述,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39756220/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com