如何在Android中使用AccessibilityEvent来获取另一个应用程序的特定屏幕上的所有文本视图的text,resourceid?

时间:2016-11-10 02:00:39

标签: android accessibility

我创建了一个扩展AccessibilityService的类。 ' onAccessibilityEvent'方法提供了一个辅助功能事件。如何使用它来遍历屏幕上的所有TextView并仅获取文本数据?另外,如何阅读webview的html数据?

@Override
    public void onAccessibilityEvent(AccessibilityEvent accessibilityEvent) {

}

1 个答案:

答案 0 :(得分:2)

Android developer site有一个很好的例子。你可以尝试:

AccessibilityNodeInfo source = event.getSource();
if (source == null) {
    return;
}

// Grab the parent of the view that fired the event.
AccessibilityNodeInfo rowNode = getListItemNodeInfo(source);
if (rowNode == null) {
    return;
}

for (int i = 0; i < rowNode.getChildCount(); i++) {
    AccessibilityNodeInfo node = rowNode.getChild(i);
    if ("TextView".eaquals(node.getClassName())) {
         Log.i("text", node.getText());
    }
}