在searchable.xml中,我有:
android:voiceSearchMode="showVoiceSearchButton|launchRecognizer"
我得到搜索字符串返回的SearchManager,如下所示:
if (Intent.ACTION_SEARCH.equals(action)) {
searchString = intent.getStringExtra(SearchManager.QUERY);
}
无论搜索字符串是来自键盘,还是语音搜索和语音识别器的结果,有没有任何方法可以从意图中得到?
我知道我可以把实体
<actionkey android:keycode="KEYCODE_SEARCH" android:queryActionMsg="search"/>
<actionkey android:keycode="KEYCODE_ENTER" android:queryActionMsg="enter"/>
在我的searchable.xml文件中,然后使用intent.getintextra(searchmanager.action_key,-999)查看搜索是否因为用户点击
进入
键盘或硬件上的键
搜索
按钮,但我不知道如何检测搜索是从“麦克风”图标按钮或搜索栏中的“搜索”图标按钮开始的。
(在语音搜索的情况下,我需要将文本回显给用户,同时进行进一步的Web查找。对于文本搜索,重复用户刚才键入的内容是多余的。)
我该怎么区分呢?