getRootInActiveWindow() returns 空

getRootInActiveWindow() returns null

我会通过这种情况简化我的问题。我正在测试辅助功能的第三方应用程序中有 2 个按钮 B1 和 B2。

最初我可以使用 getRootInActiveWindow().findAccessibilityNodeInfosByViewId(BUTTON_ID) 通过它们的 id 获取这两个元素。但是当我执行点击 B1 时,一个片段 windows 被打开。现在关闭片段后,getRootInActiveWindow() 返回 null,我再也找不到那个元素了。

可能发生这种情况是因为 getRootInActiveWindow() 在打开时会切换到片段 window,而在关闭时会变为空。所以我只需要任何解决方法来获取实际的父根节点,以便我可以找到元素或任何其他有助于找到该元素的替代方法,或者可能只是刷新视图,以便 getRootInActiveWindow() 再次指向根父节点window.

使用 getWindows 并在应用程序中搜索您的按钮 windows 可能比 getRootInActiveWindow 更可靠。