У меня есть приложение, в котором есть две операции, давайте назовем их A и B. A - начальная операция, а B - вторая деятельность. После запуска B я не хочу, чтобы действие было уничтожено до тех пор, пока приложение не перестанет работать, поскольку B устанавливает внешнее сетевое соединение.
Я хочу, чтобы люди входили в Занятие в А, нажимали виджет и переходили в В, т. Е. А -> Б. Если они нажимают кнопку возврата на В, я не хочу, чтобы Б уничтожалось. Мне все равно, если A воссоздан или нет, хотя по умолчанию это не так. Текущая активность теперь A, если люди нажимают на виджет, чтобы перейти к B, я хочу, чтобы они повторно входили в существующую активность B с открытым сетевым подключением. Если они снова нажмут, я хочу, чтобы они пошли на упражнение А. Теперь в A, если они нажмут обратно, я хочу, чтобы все действия в приложении были закрыты.
Я где-то получил это с точки зрения создания метода onBackPressed () в B (чтобы действие B не разрушалось при переходе к A). Кроме того, добавление флага намерения "FLAG_ACTIVITY_REORDER_TO_FRONT" к намерению в A, которое вызывает B, не позволяет воссоздать B, когда я вызываю его во второй раз из A, хотя это может быть не лучшим способом.
Чтобы повторить, что я делаю:
- Войти в приложение на занятии А.
- Нажмите виджет в A, который открывает действие B.
- Нажмите кнопку возврата в B, чтобы открыть упражнение A. Это не должно закрывать B, но положить его в стек.
- Снова в A. Я нажимаю виджет для B. Это должно открыть существующее действие B.
- Теперь в B я нажимаю назад, чтобы добраться до A.
- Нажмите кнопку A, чтобы выйти из приложения.
Поток программы [Главный экран] -> Упражнение A -> Упражнение B. Клавиши «Назад» обратят этот ход.