Я пытался показать "Вы хотите выйти?" тип диалога, когда пользователь пытается выйти из Activity.
Однако я не могу найти соответствующие хуки API. Activity.onUserLeaveHint()
Первоначально выглядело многообещающе, но я не могу найти способ остановить деятельность.
Ответы:
В Android 2.0+ это будет выглядеть так:
В более ранних версиях это выглядело бы так:
источник
источник
CustomTabActivity.super.onBackPressed
finish()
кодsuper.onBackPressed()
?MyActivity.super.onBackPressed();
и это прекрасно работает для меня. Это также кажется наиболее логичным подходом - вызывать метод, который вы переопределяете, если вы хотите стандартного поведения, когда пользователь нажимает «Нет».Изменили код @ user919216 .. и сделали его совместимым с WebView
источник
Я предпочел бы выйти с двойным нажатием на кнопку назад, чем с диалогом выхода.
В этом решении он показывает тост, когда вы вернетесь в первый раз, предупреждая, что другое нажатие на кнопку снова закроет приложение. В этом примере менее 4 секунд.
Жетон от: http://www.androiduipatterns.com/2011/03/back-button-behavior.html
источник
Если вы не уверены, что вызов «назад» выйдет из приложения или переместит пользователя на другое действие, вы можете свернуть вышеуказанные ответы в проверке isTaskRoot (). Это может произойти, если ваша основная деятельность может быть добавлена в задний стек несколько раз, или если вы манипулируете своей историей заднего стека.
источник
Используя лямбду:
Вам также нужно установить язык уровня для поддержки Java 8 в вашем gradle.build:
источник
В Китае большинство приложений подтвердит выход, нажав «дважды»:
источник
Сначала удалите
super.onBackPressed();
изonbackPressed()
метода, чем и ниже код:источник
Мне нравится подход @GLee и использование его с фрагментом, как показано ниже.
Диалог с использованием фрагмента:
источник
источник
Другой альтернативой может быть показ
Toast
/ /Snackbar
при первом нажатии назад с просьбой снова вернуться к выходу , что гораздо менее навязчиво, чем показAlertDialog
подтверждения, если пользователь хочет выйти из приложения.Вы можете использовать
DoubleBackPress Android Library
для этого несколько строчек кода. Пример GIF, показывающий похожее поведение.Для начала добавьте зависимость в ваше приложение:
Затем, в вашей деятельности, реализуйте требуемое поведение.
Наконец, установите это как поведение при нажатии на спину.
источник