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、各アクティビティで を受信し、検索文字列を 1 つのsingleTopアクティビティに転送して、実際に (HTTP/JSON 経由で) 検索を実行し、結果をリストに表示します。

アプリケーション内の各アクティビティで検索がアクティブになるように AndroidManifest.xml をセットアップする方法があるかどうか疑問に思っていますが、検索文字列は Android の検索ボックスからsingleTopSearchResults_Activity に直接転送されるのではなく、各アクティビティのイベントを検証してから、検索文字列を転送します。

4

1 に答える 1

3

それに対する答えは、メタデータの章の SearchManager ドキュメントで実際に入手できます

検索可能なアプリケーションの一部であるが、検索自体を実装していないアクティビティには、検索可能なアクティビティをプライマリ コンテキストとして使用して検索を呼び出すために、少し「接着剤」が必要です。これが指定されていない場合、これらのアクティビティからの検索では、システムのデフォルトの検索コンテキストが使用されます。

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

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