我有一个应用程序要求在 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/