#android #navigationbar #android-homebutton #home-button #android-navigation-bar
#Android #панель навигации #android-домашняя кнопка #кнопка «Домой» #android-navigation-bar
Вопрос:
В настоящее время я внедряю приложение для Android. Когда я нажимаю кнопки «Домой» / «Обзор», приложение по умолчанию приостанавливается (показывая обзор приложений для второго). Я заметил, что большинство приложений в последних версиях Android предоставляют возможность двойного нажатия на кнопки «Домой» и «Обзор». В частности, при нажатии кнопок «Домой» / «Обзор» появляется всплывающее сообщение «Нажмите еще раз, чтобы выйти». Это действие по умолчанию для кнопок «Домой» / «Обзор». Если да, то как я могу включить его в своем приложении? Если нет, могу ли я переопределить поведение по умолчанию? В различных сообщениях упоминается, что нет возможности заменить действия кнопки «Домой» / «Обзор», поскольку они являются системными по умолчанию (вот почему нет таких методов обработки, как onBackPressed для кнопки «Назад»).
Комментарии:
1. Нет, я имею в виду кнопки «Домой» и «Обзор».»(вот почему нет таких методов обработки, как onBackPressed для кнопки «Назад»)». Большинство полноэкранных приложений, которые я установил на свой телефон, имеют возможность отображать всплывающее сообщение при нажатии кнопок «Домой» или «Обзор».
2. Кроме того, все эти приложения каким-то образом получают всплывающее сообщение по умолчанию для выхода, которое зависит от языка телефонной системы. Может ли кто-нибудь найти системные сообщения по умолчанию через приложение?
3. Они могут показывать всплывающее окно внутри при паузе или при возобновлении. Что касается языка, то это строка.
4. @PrinceAli вы говорите: «что касается языка, это строка». Вы имеете в виду системную строку по умолчанию, расположенную где-нибудь, или строку, определенную в коде или как значение в strings.xml . Я почти уверен, что это не второе, поскольку я тестировал различные приложения, реализованные на разных языках, и они отображают всплывающее сообщение о выходе на системном языке. Например, я переключил язык телефона на французский, и сообщение о выходе из тоста отображается на французском языке для приложений, реализованных на английском, а также на других языках (но не на французском).
5. Как вы можете сказать, что французский перевод не реализован в strings.xml ?
Ответ №1:
В вашем MainActivity внутри методов onPause / onResume.
@Override
protected void onPause() {
showToast("You paused the activity");
super.onPause();
}
@Override
protected void onResume() {
showToast("You resumed the activity");
super.onResume();
}
private void showToast(String str) {
Toast.makeText(getApplicationContext(), str, Toast.LENGTH_SHORT).show();
}
Предыдущие методы будут отображать всплывающее сообщение о том, что вы приостановили действие при нажатии кнопок «Назад», «Домой» или «Обзор» (onPause).
Аналогично, если вы повторно войдете в приложение, оно отобразит, что вы возобновили действие.
Комментарии:
1. Точно так же, как вы говорите, это отобразит всплывающее окно после приостановки приложения, а не после нажатия кнопок «Домой» или «Обзор». Я хочу функциональность, которая показывает всплывающее окно после нажатия кнопок. В случае, если приложение приостановлено по другой причине (т. Е. Вы покинули приложение из-за вызова), я не хочу, чтобы отображалось всплывающее сообщение. Я определенно уверен, что это возможно, поскольку многие приложения, установленные на моем телефоне, поддерживают эту функциональность.
2. Имеет смысл, но я не нашел ничего, что позволяло бы приложению использовать кнопку «Домой». Ну, по крайней мере, пока.