admin管理员组

文章数量:1532075

时隔一年多又开始开发Accessibility相关软件,这里把几种常见的accessibility 控件无法获得的解决方式都列举出来:

1. 部分控件获取不到、webview内控件获取不到 :

检查accessibility相关权限声明是否齐全 android:accessibilityFlags="flagIncludeNotImportantViews|flagDefault|flagRetrieveInteractiveWindows|flagIncludeNotImportantViews|flagReportViewIds|flagRequestEnhancedWebAccessibility"

默认的flagDefault其实很多控件是获取不到的 在accessibility里,这个权限是一个多位的标记,可以用或运算来添加几个权限,上面的是我常用的配置一般的 webview 不在当前页面的视图都能拿到。

2. uiautomator2调试以后获取不到:

如果你使用uiautmator2 配合 ATX (或者 weditor)来获取app的层级,在调试后会出现自己的app无法获得accessibility的实例的问题。accessibility这个类在整个安卓系统里只有一个实例,被ATX占用了因此你的app各种acc操作都无效,这里需要点进去ATX 点击停止uiautomator 然后你的app就可以正常获取的accessibility的实例了。

3. 调试崩溃后 获取不到:

重新检查accessibility的权限(检查实例是否能正常调用),我这里 关闭一次相关权限,再重新打开这个权限就可以了 。

本文标签: 几种解决方法控件Accessibilityandroid