【发布时间】:2017-10-31 16:22:29
【问题描述】:
是否可以使用 AccessibilityService.getWindows() 来获取当前显示在屏幕上的 View 元素列表,包括它们的 Z 级别,哪个是最顶层的元素,以及它们所属的包名称?如果有,怎么做?
我不是想构建一个完整的 AccessibilityService,我只对 getWindows() 方法感兴趣,以获取屏幕上的窗口列表。我尝试了以下代码:
AccessibilityService myService = new AccessibilityService() {
@Override
public void onAccessibilityEvent(AccessibilityEvent event) {
}
@Override
public void onInterrupt() {
}
};
List<AccessibilityWindowInfo> windowList = myService.getWindows();
if (windowList.isEmpty()) {
Log.d(TAG, "Window list is empty");
} else {
Log.d(TAG, "Window list is not empty");
}
但是,窗口列表始终为空。我确定我做错了什么,但我似乎找不到任何有关使用 getWindows() 的文档/示例。
【问题讨论】:
-
为了根据屏幕内容优化行为,accessibilityservice 应用程序是否可以访问原始显示像素图以及收到通知弹出窗口的通知?
标签: android window android-view accessibilityservice