Android:如何将活动声明为主要和可搜索的?

时间:2011-04-21 04:47:59

标签: android searchable

我希望我的主要活动也可以搜索,但是当我将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 个答案:

答案 0 :(得分:19)

您需要使用action.SEARCH

添加新的intent-filter
<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>

答案 1 :(得分:-2)

您需要在清单文件中添加新操作并链接到搜索元数据,如下所示:

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