Выполнить поиск на Android в рамках той же деятельности - PullRequest
3 голосов
/ 28 июня 2011

Я пытаюсь интегрировать поиск в свое приложение, но меня блокирует одна проблема.Моя активность объявлена ​​так и находится внутри 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.

Ответы [ 2 ]

9 голосов
/ 14 января 2012

Вы должны использовать android:launchMode="singleTop", как описано в этой статье .

1 голос
/ 28 июня 2011

Вы можете использовать Android: noHistory http://developer.android.com/guide/topics/manifest/activity-element.html#nohist

...