android - 是否有任何回调或任何东西(事件或nodeInfo中的任何参数)来知道辅助功能服务(TalkBack)已完成阅读?

标签 android accessibility talkback

我有一个应用程序要求在 ListView 中宣布文本。 ListView 项在运行时添加。我必须一一宣布。我在谷歌和android文档中搜索,但我无法到达那里。

请帮助我,如何知道无障碍服务已阅读完文本?

谢谢:)

最佳答案

简单的答案...不要这样做!这是愚蠢的。只需使用您可用的辅助功能,然后让 TalkBack(或其他潜在的屏幕阅读器)为您管理它。只需使用这个实用函数即可。

public static void announceForAccessibility(Context context, String message) {
    AccessibilityManager manager = (AccessibilityManager) context.getSystemService(Context.ACCESSIBILITY_SERVICE);

    if (manager.isEnabled()) {

        AccessibilityEvent e = AccessibilityEvent.obtain();
        e.setEventType(AccessibilityEvent.TYPE_ANNOUNCEMENT);
        e.setClassName(context.getClass().getName());
        e.setPackageName(context.getPackageName());
        e.getText().add(message);

        manager.sendAccessibilityEvent(e);
    }
}

关于android - 是否有任何回调或任何东西(事件或nodeInfo中的任何参数)来知道辅助功能服务(TalkBack)已完成阅读?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42782169/

相关文章:

android - 在 android 中使用 Telephony Manager 查找 IMEI 号码

android - 深层链接回退

iphone - 如何使带有按钮的 UIScrollView 可访问?

java - Android - Talkback 在内容描述结束时宣布类类型。

android - 如何在 Jetpack Compose 上更改文本内容描述

android - Talkback 中断时不会调用 TextToSpeech 的 UtteranceProgressListener

android - Google Play 上新版本应用程序的上传失败并出现签名错误

java - getIntExtra 始终返回默认值

cocoa-touch - UI 附件元素、附件框架和屏幕旋转损坏

html - 导航中的按钮而不是 anchor ?