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

1

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

Заранее спасибо

  • 1
    Вы должны переписать свой вопрос, чтобы сделать его более понятным. Я лично не понял, что у тебя есть и чего ты хочешь.
  • 0
    Как пользователь должен выйти из вашего приложения, если нажатие кнопки home всегда перезапускает его?
Показать ещё 1 комментарий
Теги:

1 ответ

1

У вас есть активность, расширяющая приложение, здесь вам нужно два флага.

Объявление глобальных переменных

  public class MyApplication extends Application {
         public static boolean flagForHome= false;
         public static boolean flagForChangingActivity= false;

  }

Затем в onPause и onResume каждого вида деятельности

Жизненный цикл активности

    public void onResume(){                  
            if(flagForHome && !flagForChangingActivity){
                finish();
            } else {
                MyApplication.flagForHome= false;
                MyApplication.flagForChangingActivity= false;
            }
    }

    public void onPause(){                  
            MyApplication.flagForHome= true;
    }

Наконец, при изменении активности, обычно используя startActivity(); вам нужно установить для параметра flagForChangingActivity значение true;

Использование намерений

   MyApplication.flagForChangingActivity= true;       
   Intent intent = new Intent(this, ActivityTwo.class);
   startActivity(intent);

это остановит ваше закрытие приложения при изменении активности (по мере того, как действие, происходящее в фоновом режиме, попадет в поле "Пауза", и активируется новый запуск активности),

Не забудьте в своей домашней операции вернуть флаг в значение false. Это немедленно остановит ваше приложение, когда вы начнете его второй раз!

HomeActivity.class:

  public void onPause(){                  
            Application.flagForHome= false;
    }

ИЗМЕНИТЬ

Начать операцию для результата - это точно такая же процедура:

 MyApplication.flagForChangingActivity= true;       
 Intent intent = new Intent(this, ActivityTwo.class);
 startActivityForResult(intent, 0);
  • 0
    ты понял мой вопрос или нет?
  • 0
    @Pinki Ваш оригинальный вопрос? Да, я дал вам ответ, разве это не то, что вы хотели?
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню