我正在尝试将搜索集成到我的应用中,但我被一个问题阻止了。我的活动声明如下,位于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。但是当我调用搜索时,输入搜索查询并按下输入此类活动的另一个实例即可启动。没有onNewIntent被调用!但在启动的活动中,每个新搜索都不会启动新活动。
期望的行为是保持当前活动。基本上这就是android启动器搜索的工作方式。
答案 0 :(得分:9)
您应该使用android:launchMode="singleTop"
,如in this article所述。
答案 1 :(得分:1)
你可以使用android:noHistory http://developer.android.com/guide/topics/manifest/activity-element.html#nohist