Я пытаюсь реализовать две различные операции поиска: одну для сотовых (с виджетами поиска) и другие для не сотовых (с диалогом поиска).
Мой манифест выглядит следующим образом:
<activity android:name=".activities.Search"
android:theme="@style/NoTitleTheme"
android:configChanges="orientation|keyboardHidden"
android:launchMode="singleTop">
android:enabled="@bool/disableForNonHoneycomb"
<intent-filter>
<action android:name="android.intent.action.SEARCH" />
</intent-filter>
<meta-data android:name="android.app.searchable"
android:resource="@xml/searchable"
android:value=".activities.Search"/>
</activity>
<activity android:name=".activities.SearchHoneycomb"
android:theme="@style/CustomTheme"
android:configChanges="orientation|keyboardHidden"
android:enabled="@bool/enableForNonHoneycomb"
android:launchMode="singleTop">
<intent-filter>
<action android:name="android.intent.action.SEARCH" />
</intent-filter>
<meta-data android:name="android.app.searchable"
android:resource="@xml/searchable"
android:value=".activities.SearchHoneycomb"/>
</activity>
И я использую следующий код для получения конфигурации с возможностью поиска и настройки вида поиска в своей деятельности.
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
_searchView = (SearchView) mCustomView.findViewById(R.id.action_bar_searchwidget);
_searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
Проблема в том, что когда я использую виджет поиска, он не запускает активность SearchHoneycomb. Как я могу сделать эту работу?
Спасибо.
Итак, после большого расследования... нет возможности иметь 2 операции поиска, так как манифест android принимает только 1 метаданные для поиска по умолчанию. У меня есть работа с помощью диалогового окна поиска с метаданными, используемыми по умолчанию, и реализована функция querytextlistener для виджета поиска.