Accessibility 无法获得控件的几种解决方法 (android)

时隔一年多又开始开发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的权限(检查实例是否能正常调用),我这里 关闭一次相关权限,再重新打开这个权限就可以了 。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值