3

アプリに検索を統合しようとしていますが、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ランチャー検索の仕組みです。

4

2 に答える 2

9

むしろ、この記事でandroid:launchMode="singleTop"説明されているように使用する必要があります。

于 2012-01-13T23:21:10.430 に答える
1

android:noHistory http://developer.android.com/guide/topics/manifest/activity-element.html#nohistを使用できます

于 2011-06-27T21:51:45.237 に答える