Вы хотите создать новое действие и запустить его через намерение.По сути, если вы хотите, чтобы он «ощущался» как всплывающее окно, вы просто создаете макет, который не принимает 100% ширины / высоты экрана.
Вот как вы можете это сделать:
- Создайте макет XML и поместите его в res / layout / PopupActivity.xml
- Создайте новое действие, PopupActivity.java.
- Добавьте новое действие в файл манифеста Android.
- Запустите действие через Intent из метода onResume вашего основного действия:
startActivity(new Intent(this, PopupActivity.class));
Если вы хотите получать уведомление, когда пользователь заканчивает всплывающее действие, выможно запустить его с помощью startActivityForResult () вместо просто startActivity ().Это позволяет вам получить обратный вызов, когда пользователь завершил действие.
Я рекомендую использовать onResume () для запуска, потому что он всегда вызывается, когда пользователь возвращается к вашему действию, либо в первый раз, либо в последующий раз..
Вам нужно будет сохранить значение, представляющее состояние вашего приложения, чтобы решить, когда / если вы будете отображать вашу PopupActivity.Android будет периодически убивать ваше приложение по мере необходимости, поэтому, если вы не реализуете какую-то постоянность, то ваша PopupActivity всегда будет отображаться, когда пользователь заходит в приложение.Я бы начал реализовывать onSaveInstanceState () и onRestoreInstanceState () в вашей основной деятельности.
Простой способ узнать, показывать ли PopupActivity или нет, это просто иметь переменную, например popupShown
, установить еепо умолчанию false и true после показа всплывающего окна.Перед запуском всплывающего окна проверьте, действительно ли popupShown
.Сохранение состояния приложения, как я упоминал выше, гарантирует, что вы будете показывать всплывающее окно только при необходимости.
Очень важно понимать, как Android управляет жизненным циклом действий, иначе вы будете тратить много времени.Время удивления, почему ваше приложение ведет себя странно.Мое первое приложение для Android было очень непригодным для использования, потому что я только погрузился и не полностью понял жизненный цикл.
Вам следует прочитать это, если вы не совсем уверены вбит жизненного цикла: http://developer.android.com/reference/android/app/Activity.html