问题标签 [android-accessibility]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 初始化时如何防止 Spinner 公告
背景
片段创建它的视图,然后开始网络操作。网络操作完成后,根据网络操作的结果,创建各种类型的子视图并将其添加到片段的视图中。
问题
如果 aSpinner
被片段添加,它的初始值由 TalkBack 宣布。这是非常不可取的,因为 Spinner 通常深埋在表单中。
失败的解决方案
我试过了:
- 包装 addView 与
setImportantForAccessibility
- 不设置初始
Spinner
值(在任何情况下都不是可接受的解决方案)但添加时仍会宣布初始值 - 将
Spinner
's设置contentDescription
为不间断空格,然后在onAttachedToWindow
*中添加和恢复它
问题
Spinner
在最初创建片段之后创建并动态添加。如何防止 TalkBack 宣布 的初始值Spinner
?
android-uiautomator - Android 无障碍服务在进行 adb uiautomator 转储时重新启动
我为我的项目创建了自定义无障碍服务。一旦启用,它就会运行良好并服务于我的目的。我需要为某些要求转储。但是当我使用 adb uiautomator 命令进行转储时,Android 系统正在禁用并重新启用辅助功能服务。我没有在任何地方发现这种行为。是否有任何解决方法可以阻止 Android 系统禁用服务?
java - 处理程序作为方法参数
为什么有些 api 将处理程序作为方法参数?有哪些可能的用例?具体来说,我需要有人解释为什么我们需要 dispatchgesture 方法中的处理程序。我正在尝试使用此 dispatchgesture 方法代表用户执行拖动操作。
android - 如何知道 android accessibilty 服务何时断开连接?
我写了一个无障碍服务。连接时
被调用。但是有时服务会死掉并且没有
扩展 AccessibilityService 时的方法。我怎么知道什么时候提示用户无障碍服务已经死了,你需要把它重新打开?
android - 如何使用 AccessibilityInfo 在任何应用程序的任何视图上阅读文本?
我正在尝试使用 AccessibilityInfo 类读取任何应用程序的 ListView 中的每个项目。问题是我通过使用以下代码获取 ListView 内的项目总数:
但是我没有在 ListView 中获取项目的名称,例如让一个 ListView 中有 5 个文本视图,然后我想从该 TextView 中获取文本。我尝试使用以下方法进一步破坏 nodeInfo 对象:
所以我在 ListView 中获取 TextView 的值时做错了什么,
或者
不可能吗?
android - 在 Android 中使用 Accessibility Service 获取 Activity 的布局名称
我正在尝试创建一个应用程序来获取其他应用程序的包名称、活动名称和活动布局名称 (XML)。为此,我使用辅助功能服务来获取前台窗口的 WINDOW_STATE_CHANGED。
我取得了什么成就?
我可以使用辅助功能服务获取其他应用程序的包名称和活动名称。
我无法实现的!
我已经尝试了几乎所有可能的解决方案来获取 Activity 的布局名称,但不幸的是,我每次连续尝试都失败了。
到目前为止我已经尝试过:
步骤1:
在res/xml文件夹下创建了accessibilityservice.xml,如下所示
第2步:
创建WindowChangeDetectingService.java服务类并记录包名称和活动,如下所示
第 3 步:注册 WindowChangeDetectingService 在 manifest.xml 中创建,如下所示
输出:(从 Logcat 检索)
我的要求:(预期输出)
自过去两天以来,我一直在研究此要求,但无法在 Android 中使用 Accessibility Service 找到任何方法或方法来实现此要求。任何帮助或建议都会对我很有帮助。提前致谢。
android - 对讲:三星错过了“双击”(ACTION_CLICK)
我正在尝试添加自定义 ACTION_CLICK 文本。这就是我正在做的:
在 Nexus 上运行良好,点击后提示:“123 文本按钮,双击做某事”。
但在三星 Galaxy s6 上,我听到以下内容:“123 文本按钮”。
我的自定义操作无效:(它是在设备设置中的某个位置配置的,还是我需要指定其他内容?三星的语音助手在哪里“隐藏”这个“双击”?提前致谢!
android - 为什么 AccessibilityService 的 onAccessibilityEvent(..) 方法多次读取同一个视图?
我正在使用 AccessibilityService 来确定在 android 设备中运行的任何当前应用程序的视图的文本和坐标。在每个事件 onAccessibilityEvent(...) 运行,但我不知道如何控制这些事件。我使用 event.getSource() 来获取每个窗口内容更改的结果。我的 AccessibilityService 的 xml 设置是:
并且 onAccessibilityEvent(...) 是:
我得到的输出是(我用粗体突出显示了文本值:
现在你可以看到它只为 1 个视图运行了 3 次但我希望它只为一个视图运行一次。请帮我找出我怎样才能做到这一点?
我已经尝试将xml中的accessibilityEventTypes的值从“typeAllMasks”更改为“typeWindowContentChanged”和“typeViewFocused”,但没有任何帮助。
我还尝试在 AccessibilityService 的 onAccessibilityEvent(...) 中设置标志,但这也没有奏效,因为该服务每次都在运行(如果有人能让它工作,那就太好了)。
请告诉我如何让它工作!
android - Android Espresso 辅助功能检查失败
我正在尝试在 Android Studio 中运行 Espresso 测试(用 Kotlin 编写)并启用AccessibilityChecks ,如此处所述。
当我尝试在测试中使用 AccessibilityChecks 时,我收到以下错误:
如果我尝试将其移至文档中提到的 Before 类:
然后它将因错误“空测试套件”而失败: