Показать предыдущую активность после запуска браузера? - PullRequest
0 голосов
/ 14 февраля 2012

У меня есть сценарий, в котором мое приложение выполняет ряд действий, а затем открывает действие браузера.Затем действие браузера аутентифицирует пользователя и вызывает обратный URL-адрес с пользовательской схемой, т.е. myapp: //finished.

Фильтр намерений используется для запуска отображения одного из существующих действий.По сути, я хочу, чтобы приложение вернулось к активности, которая отображалась до запуска операции «Браузер».

Проблема, с которой я столкнулся, заключается в том, что операция «Браузер» создает новую задачу, поэтому, когда браузер перезванивает и мойактивность загружается, новый экземпляр создается в задаче браузера, а не в оригинальной задаче моего приложения.Это приводит к тому, что моя активность воссоздается.

Task (created by my app)

1) Activty 1

2) Activty 2

Task (created by the browser)

3) Browser Activity

4) Activity 2 (new instance)

Я знаю, что есть флаги, которые можно использовать для возобновления существующих действий вместо их воссоздания, но они не работают каклюбое новое намерение, которое создается после того, как браузер ограничен стеком задач браузера.

Ответы [ 2 ]

0 голосов
/ 14 февраля 2012

Вы используете Webview или запускаете сторонний браузер?В последнем случае рассмотрите возможность использования Webview

0 голосов
/ 14 февраля 2012

Полагаю, что после завершения действия сразу после вызова через веб-просмотр появится ваше последнее действие в стеке.

...