Using Android 4.2.2
我正在尝试编写辅助功能服务,并具有大多数必需的功能。我正在叠加层上绘制,并允许用户通过蓝牙开关选择/选中突出显示的项目(目的是禁用的客户端希望仅使用一个开关与 android 设备进行交互)。
在解析屏幕时,我可以获取根可访问性节点信息对象及其所有子对象。我可以在屏幕上突出显示所有这些元素,并通过 .performAction() 方法单击所需的元素。
在主屏幕上,有 3 个"窗格"可用,显示中间一个。向左或向右滑动以查看其他(标准启动器行为)。有一个节点报告是可滚动 = true,但操作标志不报告ACTION_SCROLL_FORWARD或ACTION_SCROLL_BACKWARDS。如果我不能在这样的节点上调用 .performAction(),因为它不支持滚动,我该如何滚动?如果它不以某种方式可滚动,为什么它报告 isScrollable = true?
任何帮助表示赞赏 - 谢谢。
无法滚动无法执行ACTION_SCROLL_FORWARD或ACTION_SCROLL_BACKWARDS的节点。
Android 上的辅助功能框架充其量只是实验性的,并且受到您提到的不一致的困扰。一般来说,最好不要依赖任何is[Property]()
方法。相反,您应该在节点上调用getActions()
或getActionsList()
后测试自己感兴趣的属性。