#android #android-activity
#Android #android-активность
Вопрос:
Я хочу, чтобы в моем приложении был запрос пароля. Это должно отображаться при каждом запуске или возобновлении приложения.
Итак, я объявил Startactivity, который показывает запрос пароля. Если пользователь закрывает приложение, нажав аппаратную кнопку «Назад» несколько раз, все в порядке. Но если пользователь приостанавливает приложение нажатием «Home», приложение открывается в показанном ранее действии без отображения моего запроса.
1) Каков наилучший способ реализовать это так, как я хочу? Возможно, выполнение чего-либо в onStop () для каждого действия, но это вызывается часто, а не только когда приложение закрывается с помощью «Home».
2) Есть ли какой-либо другой способ закрыть приложение, чтобы мой promt не отображался? На что я должен обратить внимание?
Спасибо и с наилучшими пожеланиями, до
Комментарии:
1. Извините, но я не понял вашего вопроса, вы хотите отображать приглашение, когда приложение выводится на передний план, или выйти из приложения при нажатии кнопки «Домой»?
2. @Salil Основная цель — отображать promt всякий раз, когда приложение выводится на передний план. Одно из моих возможных решений — выйти из приложения при нажатии кнопки «Домой» (я думаю) Спасибо, пока
3. вы можете переопределить onResume() в своей активности и отобразить приглашение там в том виде, в каком оно вызывается, когда приложение выходит на передний план.
4. @Salil Да, но при этом будет отображаться приглашение, даже если я возобновлю другое действие или если действие только запущено. Это происходит слишком часто.
Ответ №1:
Если вы хотите очищать свой стек активности каждый раз, когда пользователь выводит приложение на передний план после нажатия клавиши home и экрана passowrd, чтобы завершить набор android:clearTaskOnLaunch="true"
в теге application в манифесте и установить <category android:name="android.intent.category.LAUNCHER" />
для вашего Startactivity
Ответ №2:
После нажатия кнопки «Домой» вы должны завершить () свою деятельность.
Комментарии:
1. Это приведет только к отключению максимальной активности в моем activitystack, верно? Итак, если activitystack похож на -startActivity —MyAct1 —MyAct2 И в myact2 я вызываю finish(), завершается только myact2, а startactivity не возобновляется, верно?