问题标签 [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.

0 投票
1 回答
1646 浏览

android - 无障碍服务不工作

我在应用程序中获得了一项可访问性服务,它将您输入的文本同步到互联网,就像打字机一样。它对我不起作用,而且我为调试所做的所有祝酒词都不起作用。继承人的代码:

AccessibilityServices 类:

网络广播类:

NetworkSyncer 类:

我的清单:

注意:当writeToLogger()函数只包含一个 toast 来显示传递的字符串时,它可以工作,但是当我尝试注释掉代码时它不起作用,我真的不知道为什么。

如果有人可以帮助我,我会非常高兴。

更新:它也没有显示任何错误

0 投票
1 回答
4240 浏览

android - 如何配置 Android AccessibilityService

我正在调查 AndroidAccessibilityService并希望查看所有可能类型的事件、手势和关键事件。

我能够收到所有public void onAccessibilityEvent(final AccessibilityEvent accessibilityEvent) {}

但是我的服务从不接听protected boolean onGesture(int gestureId) {}protected boolean onKeyEvent(KeyEvent event) {}打电话。

当我在辅助功能设置中启用辅助功能服务时,我看到服务连接正常

public void onAccessibilityEvent(final AccessibilityEvent accessibilityEvent) {}我可以看到服务从方法中注销

我没有配置什么?还是配置不正确?

我的清单文件看起来像这样

xml 无障碍服务内容是:-

服务 AccessibilityServiceInfo 如下:-

0 投票
1 回答
2694 浏览

android - 谷歌对讲 API 在 android 中获取当前焦点项目

我的应用程序支持辅助功能,并且应用程序同时具有纵向和横向模式。

在我的屏幕上,我有一些视图,如按钮、文本视图、带有自定义行的列表视图。

我面临的问题是当用户在纵向模式下聚焦任何项目并旋转屏幕时,应用程序不会在横向模式下聚焦相同的元素。有人可以建议如何将焦点设置为在纵向模式下选择的项目到横向模式?

我什至对本机设置应用程序-wifi 页面和“ES 文件浏览”等现有应用程序进行了一些研究,在这些应用程序中,当用户将方向更改为横向模式时,也无法保持可访问性。系统正在从横向选择一些随机元素到纵向,反之亦然。

下面是代码片段

可访问性_sample.xml

sample_list_row.xml

可访问性SampleActivity.java

公共类 AccessibilitySampleActivity 扩展 Activity {

}

对于像 TextView、Button、Checkbox 这样的普通视图,它能够在用户旋转屏幕时保持状态。

如果用户选择下面的列表视图是我面临的问题

  • 如果在纵向和旋转屏幕中选择了任何视图,则焦点不会保持在横向。有时如果所选视图能够在不滚动的情况下显示(例如,如果用户选择印度并旋转印度将在不滚动的情况下可见),它会保持状态
  • 当用户将屏幕从纵向旋转到横向时,应用滚动并选择任何视图(如日本)并将方向从横向更改为纵向模式,然后我们可以看到它总是选择第一行复选框,即 india 复选框
0 投票
1 回答
4114 浏览

android - 将整个公告替换为“启用对讲时双击以激活”

启用 Talkback 并单击我的应用程序中的元素视图之一后,公告是背诵:

我包含的描述暂停,然后背诵:“双击激活”

我使用了在这里找到的示例中的辅助功能委托: https ://stackoverflow.com/a/39480983/5544859

但它只是替换了我的最后一个词,而不是整个句子。

例如,它说:Bla Bla bla。(停顿),然后双击“自定义字符串”

我想替换整个句子。

0 投票
1 回答
1136 浏览

android - Android Talkback 中的手势

Talk-back 中分配了许多手势。例如所有的 L 手势,例如

  • 向上然后向右滑动

  • 向上然后向左滑动

  • 向左然后向上滑动
  • 向左然后向下滑动

  • 很快

我了解到我们可以在对讲设置中将这些手势分配给不同的动作。但是我们可以以编程方式将它们分配给不同的动作吗?是否可以创建与它们类似的新手势?

0 投票
2 回答
2930 浏览

android - 聚焦时禁用查看公告(启用对讲)

我正在为我的 textview 使用自定义动态 contentDescription,因此它已在我的 java 类中实现,而不是在我的 xml 文件中。

在我启用我的文本视图可点击后,当启用对讲时,专注于我的文本视图正在宣布我的文本视图的状态为“禁用”。有没有办法不宣布该状态?

我不想将可访问性设置为不重要,因为我仍然希望当对讲用户关注 textview 时,我的动态 contentDescription 被背诵。

建议: 我认为罪魁祸首是“setEnabled”方法以某种方式触发并宣布了 textview 的状态,但我仍然无法阻止它最后背诵。

0 投票
2 回答
4844 浏览

android - Android TalkBack:是否有监听器来捕获所有辅助功能事件?

背景:问题是什么

我的应用程序有一个单词的首字母缩写词,让我们假设它是

美国广播公司

当我使用谷歌的语音服务时,它会读出字母,这很棒

但是,当我使用三星语音 (S Voice) 时,它读出来的是 1 个单词,这不是很好!

那么为什么不直接设置内容描述呢?

ABC 出现在很多地方,设置替代内容描述是不可行的。此外,它可能会破坏其他语音服务的内容描述,这些服务可以像谷歌一样正确读出

我的计划

所以前段时间我遇到了一个问题,我发现了这个扩展类的好ViewGroup方法onRequestSendAccessibilityEvent。综上所述,这个方法可以让你AccessibilityEvent在处理之前捕捉到以某种方式修改它。除其他事项外,您可以获取要读出的内容描述并对其进行修改。

我的想法是获取当前正在使用的 TTS 或 TalkBack 服务引擎,并使用正则表达式编辑字母 ABC 的内容描述,如果是三星语音 (S Voice),则将其设为 ABC。希望!

我的问题

任何人都知道侦听器或回调以AccessibilityEvent在全局或通用情况下进行处理? onRequestSendAccessibilityEvent只为ViewGroup。我找不到Activity.

任何人都知道如何捕捉所有传入AccessibilityEvent的问题,或者可能是我的问题的替代解决方案

谢谢阅读!

0 投票
1 回答
947 浏览

android-accessibility - Android O - 无障碍服务 - 指纹手势回调

我正在尝试使用来自 android O 的新指纹手势回调。

我已经在清单中声明了这些

我的无障碍服务 xml 如下所示:

..然后在可访问性服务 onServiceConnected 方法中,我尝试使用以下内容注册回调

无障碍服务注册良好,上面注册回调的代码调用正常,但我从未接到 onGestureDetectionAvailabilityChanged 和 onGestureDetected 的调用

围绕它的文档有些缺乏,所以我不确定我还需要什么才能使回调正常工作。

0 投票
2 回答
1159 浏览

android - 如何自动启用android的辅助功能设置

我正在为我的应用程序使用AccessibilityService。问题是我需要从辅助功能设置手动启用它,有没有办法自动做到这一点,所以我的应用程序的用户不需要手动执行它?

0 投票
1 回答
691 浏览

android - 在 Crome 自定义选项卡 android 中阻止 URL

我能够在辅助功能服务的帮助下检测 Chrome 自定义选项卡中正在加载哪个 URL,现在我想找到后退按钮的 id,以便如果 url 在阻止列表中,我可以关闭选项卡,以下是代码点击操作: