首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用手动输入的Android-TV语音识别

使用手动输入的Android-TV语音识别
EN

Stack Overflow用户
提问于 2015-09-29 11:51:32
回答 1查看 2K关注 0票数 1

我使用下面的小代码在我的Android应用程序上实现了语音搜索

代码语言:javascript
复制
private void displaySpeechRecognizer() {
    Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
    intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
            RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
    startActivityForResult(intent, SPEECH_REQUEST_CODE);
}


@Override
public void onActivityResult(int requestCode, int resultCode,
                                Intent data) {
    if (requestCode == SPEECH_REQUEST_CODE && resultCode == -1) {
        List<String> results = data.getStringArrayListExtra(
                RecognizerIntent.EXTRA_RESULTS);
        String spokenText = results.get(0);
        Toast.makeText(getActivity(), spokenText, Toast.LENGTH_LONG).show();
    }
    super.onActivityResult(requestCode, resultCode, data);
}

这一切都很好,我得到的结果,以进一步处理。

问题是,我还想让用户可以使用虚拟键盘手动输入搜索字符串。在谷歌自己的应用程序中,你只需在遥控器上按下按钮,在按下语音搜索图标后,就可以将焦点放在文本框上。

在上面的例子中,当我按下搜索图标时,我可以看到“内置文本框”,但是如果我试图导航到它,搜索就会被中断和关闭。

如何访问搜索文本框?这应该取消语音输入,而不是打开键盘,就像Play Store应用程序一样。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-30 05:05:07

您是否在使用Leanback支持库进行Android电视应用程序的设计?我猜"Google应用程序“和"YouTube应用程序”正在使用BrowseFragment & SearchFragment进行搜索。这些片段提供了内置的搜索UI。

有关实现,请参见Google的示例源代码SearchFragment - Android电视应用程序教程12

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32843270

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档