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