如何从AccessibilityNodeInfo

时间:2015-10-24 12:17:19

标签: android webview talkback accessibilityservice accessibility-api

我正在创建一个我需要使用AccessibilityService的应用程序。获取其他应用程序的窗口内容没有问题。我已从窗口内容中检测到所有可用子项,并且子项在AccessibilityNodeInfo中显示。现在我在AccessibilityNodeInfo中有一个webview我需要获取该WebView的URL,但是无法将AccessibilityNodeInfo转换为相关的View。

有没有办法从AccessibilityNodeInfo获取webview?

2 个答案:

答案 0 :(得分:1)

不,因为WebView在另一个过程中,而不是你的过程。

答案 1 :(得分:1)

无法像WebView一样访问WebView的所有属性。 AccessibilityNodeInfo对象与它们表示的对象完全分开。

但是,由于您可以控制应用程序,因此您可以轻松地在应用程序的某个元素的内容描述中提供此信息,然后您的辅助功能服务可以轻松访问这些元素。在使用这种有点苛刻的解决方案时,请确保不要破坏应用程序的一般可访问性。

注意:我会质疑引导您进行这种思考的设计决策。也许对您尝试做的事情的更一般描述,将允许我们(Stack Overflow社区)提出更好的方法来完成类似的事情。