发送未链接到视图的辅助功能事件

Ale*_*ran 5 android accessibility android-a11y

我们希望发送一个无法链接到视图的辅助功能事件(将由TalkBack等提取).

例如,当AsyncTask完成时,我怎么能发送一个辅助功能事件(例如说"数据下载"的对话)?

ala*_*anv 8

如果AccessibilityEvent.getSource()返回null,看起来当前版本的TalkBack会忽略公告,因此您最好使用Toast.这样做的另一个好处是可以向用户提供一致的反馈,无论他们是否使用TalkBack.

Toast.makeText(context, /** some text */, Toast.LENGTH_SHORT).show();
Run Code Online (Sandbox Code Playgroud)

但是,通常,您可以手动创建AccessibilityEvent并通过AccessibilityManager发送它.

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);
}
Run Code Online (Sandbox Code Playgroud)


小智 -2

尝试使用广播消息,您可以向广播接收器发送意图,然后在接收器中您可以启动通知或其他内容。