问题标签 [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 投票
4 回答
5996 浏览

android - 如何使用辅助功能模式使可跨文本可点击

我有一个问题声明,我需要在启用辅助功能设置的情况下运行我的应用程序,以获得反馈反馈,但这里的问题是,当我单击TextView其中包含 Spannable 链接的某个链接时,它会读取全文但不允许我在禁用可访问性的同时单独单击该 Spannable 文本允许使字符串多跨度或链接可点击。

这是我的String可点击代码:

0 投票
0 回答
500 浏览

android - 每当我的应用程序处于活动状态时,如何禁用对讲功能?

我正在为盲人社区开发一个 android 应用程序。在我的应用程序中,我正在处理所有带有 TTS/音频文件的点击/触摸。它工作正常,但是当用户打开 TalkBack 功能时,所有的点击/触摸都需要两次。首先,它将由 TalkBack 决定,然后是我的内部机制。

我能够检测到 TalkBack 是否启用。

我想在我的应用程序处于活动状态时禁用对讲功能?

0 投票
2 回答
1604 浏览

android - 如何在运行时提取有关 android 应用程序中 UI 元素的信息?

Hierarchy Viewer 让您可以通过将手机连接到笔记本电脑来提取有关 UI 元素的信息。它通过 adb 轮询窗口管理器/视图管理器以获取信息。

我想知道是否可以在运行时使用后台服务提取手机上前台屏幕的 UI 信息?

我正在尝试构建一个可访问性服务(类似于 Talkback),并试图找到一种方法来收集有关活动前景屏幕上所有 UI 元素(它们的类(例如按钮)和位置)的信息。我已经能够提供无障碍服务,但我无法找到获取 UI 信息的方法。

0 投票
1 回答
1000 浏览

android - AccessibillityNodeInfo 中的覆盖操作

我有一个AccessibilityDelegateCompat用于初始化的自定义视图AccessibilityNodeInfo,如何避免/删除视图默认的操作,例如“双击激活”?

我的 AccessibilityActionCompat 看起来像:

我打电话accessibilityNodeInfoCompat.addAction(playVideoAction)onInitializeAccessibilityNodeInfo()

我同时听到“双击播放视频”和“双击激活”。我只想听到播放视频动作。

0 投票
1 回答
630 浏览

java - 辅助功能服务崩溃且无法重新启动

我正在测试他实现辅助功能服务的教程以捕获 USSD 菜单上的一些文本。

我第一次在调试模式下使用 Android Studio 编译和启动应用程序时效果很好:

我可以在调试器中看到这一行:

在我调用 USSD 菜单后,我可以按预期在调试器中看到响应消息的内容。

但是,如果我断开电话并在没有任何修改的情况下再次尝试相同的应用程序后,辅助功能服务似乎无法工作甚至无法启动,因为我什至无法在调试器中看到这条 Log.d 行

我尝试了以下单元测试:

1.如果我尝试卸载应用程序并重新编译,它仍然无法正常工作。

2. 如果我卸载应用程序,重新启动手机,然后重新编译,它会再次工作,直到我下次拔下并再次插入 USB 电缆以从 Android Studio 运行新的调试。

3. 如果我只是使用 Android Studio 的重构选项重命名 Accessibility Service(例如在名称后添加 2),它会再次起作用,直到我下次拔下并再次插入 USB 电缆以从 Android Studio 运行新的调试.

当我拔下 USB 电缆并且应用程序无法在下次重新启动时,辅助功能服务似乎在某处卡住或崩溃。我还可以在控制台中看到以下错误消息,这让我认为这是问题所在:

这很奇怪,知道为什么会这样吗?

非常感谢您的建议!

0 投票
0 回答
212 浏览

cordova - Accessibility API/Component does not read the contents in Hybrid Mobile Application

Hybrid Mobile Application built using Cordova, BackBoneJS and JQuery mobile does not respond to Accessibility touch events.

In Accessibility mode "ON", the expectation is, the Application needs to read the contents/text in single tap and the assigned action needs to be performed on double tap. But the Hybrid Application neither reads the text nor waits for the double click. The application works as it is in normal mode.

Is there any support library available or any add-ons needs to be added ?

0 投票
0 回答
399 浏览

android - 如何在android中设置可访问性优先级

单击提交按钮时,它正在读取EditText先前在“ setError”方法中设置的所有错误消息。但是如果在这之间收到任何通知,我需要优先通知。但现在它正在阅读所有错误消息后的通知。如何设置可访问性的优先级。

0 投票
1 回答
1024 浏览

android - 在Android中单击浮动按钮时如何通过AccessibilityService执行滚动事件?

我有一个Service启动 aButton并通过调用添加它WindowManager.addView()。此按钮始终显示在所有内容之上。

还有一个Service延伸AccessibilityService。我确实收到了事件onAccessibilityEvent,但没有点击事件发生Button在另一个中创建的事件上Service。我确实收到了其他视图的点击事件。onAccessibilityEvent另一个问题是当用户点击Button在另一个中创建的时如何触发Service

我不知道为什么Buttoncreated inService不会触发onAccessibilityEvent

这是我的浮动按钮

和我的AccessibilityService

我需要Button在 FloatingButton 中创建的Service或者触发事件onAccessibilityEvent或者执行的方式AccessibilityNodeInfo.ACTION_SCROLL_FORWARD。但没有AccessibilityEvent,我不知道如何执行滚动操作。另外,有没有办法在执行操作之前检查当前视图是否可滚动?

谢谢!!!

0 投票
1 回答
596 浏览

android - 是否可以在其他应用中触发触摸事件?

我正在构建一个自动执行 USSD 命令的应用程序。由于打开 USSD 对话框时我们无法执行 USSD 命令,因此我希望能够自动关闭 USSD 对话框。

到目前为止,我拥有的最接近的解决方案是使用Accessibility Service获取 USSD 消息并performGlobalAction关闭对话框。performGlobalAction有效(因为当我使用它时他返回 true)但单击系统 Android 后退按钮不会关闭 USSD 对话框。

PS:我在Android 6.0上测试过。

0 投票
3 回答
185 浏览

android - 无障碍视觉障碍的 Android 布局资源

Android 应用目前支持基于方向、屏幕大小、白天和黑夜等不同的布局资源。

但是,我想提供针对有视力障碍的用户的布局,例如使用带有黄色背景和黑色文本的布局。

我错过了 Android 已经支持的东西吗?

我可以实现自定义 res/layout-WAI 或 res/layout-DDA 文件夹吗?