Android: неожиданное поведение последних приложений

Наше приложение имеет 2 MainActivity деятельности – MainActivity (связанный с иконкой Launcher) и AuxActivity для обработки событий URI.

Я вижу проблему с этим сценарием, когда мое приложение изначально вышло:

  1. Откройте браузер, нажмите URI, чтобы запустить AuxActivity .

  2. AuxActivity завершает (call finish ()), пользователь возвращается в браузер.

  3. Пользователь открывает последние приложения (долгое нажатие на дом) и выбирает мое приложение.

Вместо запуска MainActivity , я вижу, что AuxActivity запускается с тем же намерением, что и представляет клик URI ( android.intent.action.VIEW ).

Теперь вместо шага 3, если пользователь должен открыть мое приложение через значок «Домашний экран», я вернусь к MainActivity , как и ожидалось.

Как я могу сделать шаг 3 для запуска MainActivity ?

Основываясь на предложении Тима, как насчет добавления

 android:excludeFromRecents="true" 

К перечислению auxActivity в манифесте? Это помогает?

Поместите это в AuxActivity's onCreate:

 if ((getIntent().getFlags() & Intent.FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY) > 0) { // do something different eg launch MainActivity } 

Не уверен, что это сработает, но вы также можете попробовать:

андроид: noHistory = "истина"

Независимо от того, следует ли удалить действие из стека активности и завершить его (его метод finish ()), когда пользователь переходит от него, и он больше не отображается на экране – «true», если он должен быть завершен, и «false», если не. Значение по умолчанию неверно". Значение «истина» означает, что активность не оставит исторической следы. Он не останется в стеке действий для задачи, поэтому пользователь не сможет вернуться к нему. Этот атрибут был введен в API Level 3.

Intereting Posts
Как сохранить изображение в базе данных Sugar ORM? Как отключить элемент click для определенных позиций в режиме сетки в android Я отслеживаю приложение для Android в Google Analytics. Почему у меня есть пользователи Macintosh? Bluetooth-соединение между Android и Lego Mindstorm NXT PhoneGap – приложение phonegap phonegap дает ошибку компиляции в Linux Добавить разрыв строки в текстовом файле android Использование классов BufferedImage и ImageIO в моей Android-активности Получение недопустимой ошибки параметра android_key, после первого входа в систему в Facebook Android SDK Как центрировать фоновой плитки? Можем ли мы контролировать конечную позицию перехода в ListView Структура каталога проектов тестирования Android при использовании Eclipse Как я могу передать звуковой буфер, чтобы воспроизвести его напрямую Фрагмент, сохраните большой список данных onSaveInstanceState (как предотвратить TransactionTooLargeException) Как я могу отладить проблему наследования стиля Android? Как узнать, работает ли приложение или нет