首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在SearchView上实现语音搜索

如何在SearchView上实现语音搜索
EN

Stack Overflow用户
提问于 2013-07-25 06:34:17
回答 3查看 21.8K关注 0票数 16

我想在我的应用程序中添加语音搜索功能。我要在SherlockActivity中填充一个SearchView。但是我找不到一个解决方案来给SearchView对象添加语音搜索功能。

你能给我一个建议吗,我需要做些什么?

代码如下:

代码语言:javascript
复制
    public class MainActivity extends SherlockActivity {
        private SlidingMenu slidingMenu;
        private SlidingMenu slidingMenuRight;
        private String mFilterArrays[];
        public long lastScrollTime=0; /** En son kaydırma ne zaman yapıldı*/
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    }   

        public boolean onCreateOptionsMenu(Menu menu) {

                    //Create the search view
                    SearchView searchView = new SearchView(getSupportActionBar().getThemedContext());
                    searchView.setQueryHint("Search...");


                    menu.add("Search")
                        .setIcon(R.drawable.ic_search_inverse)
                        .setActionView(searchView)
                        .setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);
                        return true;
    }
}

Mainfest

代码语言:javascript
复制
<activity
    android:name="com.paea.bcp.MainActivity"
    android:label="@string/app_name" >
    <intent-filter>
        <action android:name="com.paea.bcp.MainActivity" />
        <category android:name="android.intent.category.DEFAULT" />
        <action android:name="android.intent.action.SEARCH" />                
    </intent-filter>
</activity>
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-07-26 21:03:05

您可以查看文档

更新:如果你的SearchActivity是同一个,你可以覆盖onNewIntent并在那里处理搜索意图。另外,将您的活动设置为singleTop,这样只有一个activity实例会位于顶部。

希望这对你有所帮助,如果你找到了解决方案,请通知我。

干杯!

票数 4
EN

Stack Overflow用户

发布于 2017-03-22 00:55:45

在您的res/xml文件夹中,您应该有一个可搜索的文件(通常称为searchable.xml)。

在该文件的<searchable />元素中,您应该添加以下属性:

android:voiceSearchMode="showVoiceSearchButton|launchRecognizer"

还有其他与语音相关的属性(当前为voicePromptTextvoiceLanguageModelvoiceLanguage)都是described here

票数 5
EN

Stack Overflow用户

发布于 2018-10-23 20:25:31

如果您有SearchView而没有SearchActivity,您可以执行以下两个步骤来解决此类问题:

  1. 在manifest.xml inside活动的标记中声明可搜索的设置,如下所示:

<meta-data android:name="android.app.searchable" android:resource="@xml/searchable" />

  • Then将可搜索设置与activity类中的SearchView关联(即在onCreateOptionsMenu()方法中),如下所示:

SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE); SearchView searchView = (SearchView) findViewById(R.id.search); searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));

有关更多信息,请访问see docs

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

https://stackoverflow.com/questions/17845980

复制
相关文章

相似问题

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