У меня есть приложение, которое поддерживает многозадачность (работает в фоновом режиме), однако у меня возникли проблемы с Android Backstack.
Вот что у меня есть:
Задание A запускает задание B для результата, поэтому ...
Занятие A -> Занятие B
Если во время действия B пользователь долго нажимает кнопку home и переключается на другое приложение (например, в браузере), а затем долго нажимает кнопку home снова и возвращается к моему приложению они будут в Деятельности B, однако задний стек в это время будет выглядеть следующим образом:
Задание A -> Интернет-браузер -> Упражнение B
Поэтому, когда я выполняю finish()
, чтобы отправить результат из моей Деятельности B, он возвращается не к моей Деятельности A, а скорее в Интернет-браузер ...
Это также имеет место, если пользователь не использует долгое нажатие кнопки home , но также использует кнопку home , чтобы вернуться к своему средству запуска, а затем использует длинные нажмите кнопку home , чтобы вернуться в мое приложение. В этом случае задний стек еще хуже:
Домашний Launcher -> Задание B
Поэтому, когда я выполняю finish()
в Деятельности B, пользователь возвращается к своему домашнему экрану, и он никогда не может вернуться к Деятельности A, за исключением случаев, когда он снова запускает приложение из своего ящика приложений.
Есть ли способ реализовать многозадачность в этом случае? Задание B всегда должно возвращать результат в задание A независимо от того, что пользователь открыл между этими двумя.