Как реализовать голосовой поиск в SearchView - программирование
Подтвердить что ты не робот

Как реализовать голосовой поиск в SearchView

Я хочу добавить функцию голосового поиска в свое приложение. Я заполняю SearchView в SherlockActivity. Но я не могу найти решение для добавления функции голосового поиска в объект SearchView.

Можете ли вы дать совет, что мне нужно сделать?

Код ниже:

    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

<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>
4b9b3361

Ответ 1

Вы можете проверить документацию здесь

Обновление. Если ваш SearchActivity является одним и тем же, вы можете переопределить onNewIntent и обработать намерение поиска там. Также сделайте свою деятельность как singleTop, таким образом, только один экземпляр активности останется на вершине.

Надеемся, что это поможет и, пожалуйста, сообщите, если вы найдете решение.

Ура!

Ответ 2

В вашей папке res/xml у вас должен быть файл с возможностью поиска (обычно называемый searchable.xml).

Внутри элемента <searchable /> в этом файле вы должны добавить этот атрибут:

android:voiceSearchMode="showVoiceSearchButton|launchRecognizer"

Существуют другие атрибуты, связанные с голосом (в настоящее время voicePromptText, voiceLanguageModel и voiceLanguage)), которые описаны здесь .