首页 > 解决方案 > 如何使用 Android Accessibility Services 获得点击的 View Elements?

问题描述

我尝试创建一个 Android 辅助功能服务来检测应用程序中的所有元素并显示内容描述或标签等辅助功能信息。

目前我可以使用 AccessibilityService 类在打开应用程序时记录节点层次结构:

switch (evt.getEventType()) {
                case AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED: {
                    logNodes(getRootInActiveWindow(), 0);

但是我怎样才能只获取被点击/单击的视图元素的信息?有没有一种简单的方法,使用辅助功能事件来做到这一点?

如果我使用例如 AccessibilityEvent.TYPE_VIEW_CLICKED 我可以通过点击它们来检测可点击的视图元素,如按钮或复选框。但是是否有一个可访问性事件来获取不可点击的视图元素,如文本视图?

我知道 Google 的 talback 使用 AccessibilityServices 说出您点击的任何内容,它是按钮还是任何其他视图元素都没有关系。

标签: androidaccessibilityaccessibilityservice

解决方案


推荐阅读