Android: как объявить деятельность основной и доступной для поиска? - PullRequest
10 голосов
/ 21 апреля 2011

Мне бы хотелось, чтобы моя основная деятельность также была доступна для поиска, но когда я изменяю 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>

, она не может найти основное действие, и приложение не запускается.любая идея?не лучше ли использовать ту же активность, что и для поиска?Спасибо, Алиса

Ответы [ 2 ]

19 голосов
/ 12 мая 2011

Вам необходимо добавить новый фильтр намерений с действием. 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>
0 голосов
/ 21 апреля 2011

Вам нужно добавить новое действие в файл манифеста и ссылку на метаданные поиска, вот что:

<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"/>
...