android - announceforaccessibility 不起作用

标签 android accessibility

我正在尝试为视障人士开发一个应用程序,我肯定会使用辅助功能 我正在尝试为用户设置欢迎词,而不让用户触摸任何应该仅在辅助功能模式下和 Activity 启动时播放的内容 我有一个欢迎用户的 Textview,我已经在它的 contentDescription 中设置了消息 和我调用的 onCreate 方法

textView.announceForAccessibility("Welcome");

我也试过

textView.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_CLICKED);
textView.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED);
textView.sendAccessibilityEvent(AccessibilityEvent.TYPE_ANNOUNCEMENT);

几乎所有的 AccessibilityEvent 类型 都不起作用 我正在使用 android v7 在 nexus6p 上进行测试,同时启用了辅助功能

最佳答案

多亏了这个thread早些时候我找到了答案 我所做的只是添加了这段代码,它的效果非常好

AccessibilityManager manager = (AccessibilityManager) context
    .getSystemService(Context.ACCESSIBILITY_SERVICE);
if (manager.isEnabled()) {
    AccessibilityEvent e = AccessibilityEvent.obtain();
    e.setEventType(AccessibilityEvent.TYPE_ANNOUNCEMENT);
    e.setClassName(getClass().getName());
    e.setPackageName(context.getPackageName());
    e.getText().add("some text");
    manager.sendAccessibilityEvent(e);
}

关于android - announceforaccessibility 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40243300/

相关文章:

css - 我如何向程序员解释 CSS 定位比基于表格的布局有很多好处?

java - android 将图像上传到服务器的有效方法

android - 哪个 UI 用于 Cordova Android/iPhone 应用程序开发

android - Android 4.1 使用 Phonegap 加载外部 html 的问题

ios - VoiceOver 读取表格标题两次并始终添加单词 "heading"

java - 通过辅助服务传递数据以查看 – Android

html - 在可访问菜单(html 格式)、制表符或箭头键中移动焦点的当前最佳做法是什么?

java - 带有 unicode 字符或自定义字体的软键盘

android - 使用特殊字符在 Android 上发起电话调用 #

ios - 关于 iOS 辅助功能。如何将焦点转移到 pickerView