AccessibilityEvent

发表于 2016-11-04 14:13:07   阅读量(0)


当用户界面发生某些明显的事件时,该类代表的无障碍事件会被系统发送。例如,一个按钮被点击,一个视图被聚焦等等。
一个无障碍事件由独立视图发送,独立视图使用它的状态数据填充事件,并从它的父视图请求发送事件到感兴趣的各方。在分发一个类似的请求给其父视图之前,父视图可以自由地为自己添加一个AccessibilityRecord。父视图也可以选择不响应发送事件的请求。无障碍事件是由视图树中的最顶端视图发送的。因此,AccessibilityService可以浏览无障碍事件中的所有记录,来获取更多关于发送事件的上下文信息。
一个无障碍事件的主要目的是向AccessibilityService暴露足够的信息,来为用户提供有意义的反馈。但是有时,无障碍服务可能需要比事件负载的更多的上下文信息。在这种情境下,该服务可以获得事件源,此事件源是一个可以用于浏览窗口内容的AccessibilityNodeInfo(视图状态的快照)。请注意,必须明确请求访问事件源和窗口内容的权限。更多详细信息请参考AccessibilityService。如果无障碍服务没有请求检索窗口内容的权限,事件不会包含事件源的引用。对于TYPE_NOTIFICATION_STATE_CHANGED类型的事件,事件源是永远不可获得的。

该类代表各种语义的不同无障碍事件类型。每一种事件类型都有一组相关联属性。换言之,每一种事件类型是由该类暴露出的属性子集表示其特征的。在此类中为每一种事件类型定义了相应的常量。下面所描述的是事件类型及其相关属性的规范。

原文地址:http://www.capa.ac/AccessibilityEvent.pdf