Android: сделать поиск доступным по всему приложению - PullRequest
2 голосов
/ 10 ноября 2009

Прямо сейчас я добавляю

<intent-filter>
 <action android:name="android.intent.action.SEARCH" />
 <category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<meta-data android:name="android.app.searchable" android:resource="@xml/searchable" />

для каждого <activity> в AndroidManifest.xml, получите Intent в каждом действии и перенаправьте строку поиска в одно singleTop действие, которое фактически выполняет поиск (через HTTP / JSON) и отображает результаты в список.

Мне интересно, есть ли способ настроить AndroidManifest.xml, чтобы поиск активировался в каждом действии в моем приложении, но строка поиска будет перенаправлена ​​из окна поиска Android прямо на мой * 1009? * SearchResults_Activity вместо проверки правильности событий в каждом действии и последующей пересылки строки поиска.

1 Ответ

3 голосов
/ 16 декабря 2009

Ответ на этот вопрос фактически доступен в документации SearchManager, в главе MetaData .

Деятельность, которая является частью приложение с возможностью поиска, но не реализовать поиск, потребовать немного "клея", чтобы заставить их вызвать поиск с помощью поиска деятельность как их основной контекст. Если это не предусмотрено, то ищет от этих мероприятий будет использовать системный контекст поиска по умолчанию.

<application>
    <meta-data android:name="android.app.default_searchable"
                android:value=".MySearchActivity" />

    <!-- followed by activities, providers, etc... -->
</application>
...