打开日期选择器时,TextToSpeech无法正常工作

时间:2015-12-14 21:05:26

标签: android calendar accessibility talkback

我正在尝试在TextToSpeech(TTS)中为可访问性用户添加一些额外信息,例如当用户点击日历按钮时,应该有TTS通知,例如这是一个日历小部件,用户应向上或向下滑动以选择日期。

所以我在日历按钮的onclick中添加了textToSpeech代码。但TTS不起作用,并且对讲直接宣布所选日期/当前日期。

我的代码结构如下: -

          calendarButton.onclick{ 
          if(accessibilityIsActive)
           tts.speak("This is a calendar widget.Do this... to select a date") 
           };

当我处于调试模式并逐步执行时,tts执行并且我可以听到我的文本。但是在正常模式下我选择按钮Talkback覆盖此步骤并且焦点转到对话框标题,即当前日期,所以它只是告诉当前日期。我正在使用Android默认日历小部件。

有什么方法可以使TTS工作,然后让对讲取回日期对话框中的控件???我正在使用带有android OS 6.0的nexus 5

1 个答案:

答案 0 :(得分:0)

不要直接使用TTS。发布可访问性声明,让Accessibility框架决定如何处理它。

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);