アプリに検索を統合しようとしていますが、1 つの問題でブロックされています。私のアクティビティはこのように宣言され、TabActivity 内に配置されています。
<activity
android:name="FileBrowserActivity"
android:screenOrientation="portrait"
android:launchMode="singleInstance">
<intent-filter>
<action android:name="android.intent.action.SEARCH" />
</intent-filter>
<meta-data android:name="android.app.searchable"
android:resource="@xml/searchable"/>
</activity>
ご覧のとおり、launchMode は singleTop に設定されています。しかし、検索を呼び出すと、検索クエリを入力して Enter キーを押すと、そのようなアクティビティの別のインスタンスが起動されます。onNewIntent が呼び出されていません。ただし、起動されたアクティビティでは、新しい検索ごとに新しいアクティビティが起動されません。
望ましい動作は、現在のアクティビティ内にとどまることです。基本的に、それがAndroidランチャー検索の仕組みです。