首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >可访问性服务看不到覆盖

可访问性服务看不到覆盖
EN

Stack Overflow用户
提问于 2018-08-21 18:15:55
回答 1查看 49关注 0票数 1

因此,我使用Accessiblity Service来扫描我的手机屏幕,以检测覆盖等。我遇到的问题是,它找不到弹出窗口的视图,它总是扫描覆盖图下的文本,我如何确保它只扫描当前的顶部覆盖图?例如,我有testapptestapponetestapp是当前活动,testappone是覆盖,当覆盖弹出到testapp顶部时,我看不到testappone的数据,我看到的是testapp的数据,尽管我可以在testappone上看到testapp上的所有内容。

代码语言:javascript
运行
复制
@Override
public void onAccessibilityEvent(AccessibilityEvent event)
{
    final String appPackageName = event.getPackageName().toString();

    if (appPackageName.equals("testappone")){
        AccessibilityNodeInfo source = getRootInActiveWindow();

        processEvent(source);
    }
}

private void processEvent(AccessibilityNodeInfo source){
   StringBuilder sb = new StringBuilder();
   processSubEvent(source, 0, sb);
   String string = sb.toString();

   Log.e(TAG, "String " + string);
}

private void processSubEvent(final AccessibilityNodeInfo source, final int n, final StringBuilder sb){

   sb.append(tools.getText(source));
   sb.append("\n");

   int childCount = source.getChildCount();
   for (int i = 0; i < childCount; i++)
   {
       AccessibilityNodeInfo child = source.getChild(i);

       if (child != null)
       {
           processSubEvent(child, n + 1, sb);
       }

     child.recycle();
   }
}
EN

回答 1

Stack Overflow用户

发布于 2018-08-22 07:17:16

辅助功能服务只能看到用户可以与之交互的窗口。不可触摸的窗口不会报告给他们。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51946448

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档