在 Android UIAutomator2 中处理多窗口操作,可以使用 UiDevice
类中的 getWindows()
方法获取当前所有打开的窗口,然后根据窗口的属性(如标题、包名等)来识别和操作特定的窗口。以下是一些基本步骤和示例代码:
val windows = device.windows
for (window in windows) {
val windowTitle = window.title
val packageName = window.packageName
// 根据需要添加更多属性来识别窗口
if (windowTitle == "目标窗口标题" && packageName == "目标包名") {
// 找到目标窗口,可以进行后续操作
break
}
}
val targetWindow = windows.first { it.title == "目标窗口标题" && it.packageName == "目标包名" }
device.setFocus(targetWindow)
getWindows()
方法再次获取窗口列表,然后使用 setFocus()
方法切换到新的目标窗口。请注意,这些示例代码是基于 Kotlin 编写的,但你可以根据需要将其转换为 Java 或其他支持的编程语言。此外,处理多窗口操作时可能需要考虑窗口的层次结构和状态变化,以确保操作的准确性。