2

现在我正在添加

<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 的搜索框直接转发到我的singleTopSearchResults_Activity 而不是去通过验证每个活动中的事件然后转发搜索字符串的方式。

4

1 回答 1

3

这个问题的答案实际上可以在 SearchManager 文档的MetaData章节中找到。

作为可搜索应用程序的一部分但不实现搜索本身的活动,需要一些“胶水”才能使它们使用您的可搜索活动作为其主要上下文来调用搜索。如果未提供,则来自这些活动的搜索将使用系统默认搜索上下文。

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

    <!-- followed by activities, providers, etc... -->
</application>
于 2009-12-16T10:47:20.083 回答