3

我正在尝试将搜索集成到我的应用程序中,但我被一个问题阻止了。我的活动是这样声明的,并且位于 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 回答