Android: как объявить активность основным и доступным для поиска?
Я бы хотел, чтобы моя основная активность была доступна для поиска, но когда я изменяю manifest.xml на
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<!-- declare the default searchable Activity for the whole app -->
<action android:name="android.intent.action.SEARCH" />
</intent-filter>
он не может найти основное действие, и приложение не запускается.
Есть идеи?
не лучше ли использовать такую же активность, как и для поиска?
Благодаря,
Алиса
Ответы
Ответ 1
Вам нужно добавить новый фильтр намерений с помощью action.SEARCH
<activity
android:name=".activities.YourActivity">
<intent-filter>
<category android:name="android.intent.category.LAUNCHER" />
<action android:name="android.intent.action.MAIN" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.SEARCH" />
</intent-filter>
</activity>
Ответ 2
Вам нужно добавить новое действие в файл манифеста и ссылку на поиск метаданных, smth:
<intent-filter>
<action android:name="android.intent.action.SEARCH"/>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
<meta-data android:name="android.app.searchable"
android:resource="@xml/searchable"/>