在搜索过程中,您可以通过using the APP_DATA bundle. 将一些数据传递给搜索管理器|这种机制非常适合普通搜索,但如何才能对语音搜索执行相同的操作并在语音搜索返回时返回一些上下文信息?
最佳答案
据我了解,它通过相同的机制。只需在后端创建正常的 onSearchRequested
覆盖,然后使用语音搜索功能注释您的对话框或小部件 as described here .
使用他们的例子,像这样的东西应该进入你的前端:
<?xml version="1.0" encoding="utf-8"?>
<searchable xmlns:android="http://schemas.android.com/apk/res/android"
android:label="@string/search_label"
android:hint="@string/search_hint"
android:voiceSearchMode="showVoiceSearchButton|launchRecognizer" >
</searchable>
当请求语音搜索时,其数据将通过搜索机制传递到您的 onSearchRequested
回调,允许您根据需要操作数据。
编辑:此处解决的实际问题是区分何时在搜索小部件中使用语音搜索与何时调用标准文本输入。
不幸的是,Google 似乎不提供这些设施,除非您自己推出 Recognizer或者尝试从搜索包中检索形状像语音数据的属性。后一种情况没有记录,至少显然也没有得到支持。
关于android - 将上下文传递给语音搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9774193/