В настоящее время я реализую приложение для Android. Когда я нажимаю кнопки домой/обзор, приложение по умолчанию приостанавливается (показывая обзор приложений для второго). Я заметил, что большинство приложений в последних версиях Android дают возможность двойного нажатия на кнопки «Домой» и «Обзор». В частности, при нажатии кнопок «Домой»/«Обзора» появляется всплывающее сообщение. Нажмите еще раз, чтобы выйти. Это действие по умолчанию для кнопок «Домой/Обзор». Если да, то как я могу включить его в своем приложении? Если нет, могу ли я переопределить поведение по умолчанию? В различных сообщениях упоминается, что нет возможности заменить действия кнопки «Домой»/«Обзора», поскольку они являются системными по умолчанию (поэтому нет методов обработки, таких как onBackPressed для кнопки «Назад»).
Android: двойное нажатие кнопки «Домой» в качестве действия по умолчанию
comment
Нет, я имею в виду кнопки «Домой» и «Обзор» (поэтому нет методов обработки, таких как onBackPressed для кнопки «Назад»). Большинство полноэкранных приложений, которые я установил на свой телефон, могут отображать всплывающее сообщение при нажатии кнопки «Домой» или «Обзор».
- person Alexandros Mavrommatis   schedule 12.12.2020
comment
Кроме того, все эти приложения каким-то образом получают всплывающее сообщение по умолчанию для выхода, которое зависит от системного языка телефона. Может ли кто-нибудь найти системные сообщения по умолчанию через приложение?
- person Alexandros Mavrommatis   schedule 12.12.2020
comment
Они могут показывать тост внутри на паузе или при возобновлении. Что касается языка, то это строка.
- person Prince Ali   schedule 12.12.2020
comment
@PrinceAli, что касается языка, вы говорите, что это строка. Вы имеете в виду системную строку по умолчанию, расположенную где-то, или строку, определенную в коде, или как значение в strings.xml. Я почти уверен, что это не второй, так как я тестировал различные приложения, реализованные на разных языках, и они показывают тост-сообщение о выходе на системном языке. Например, я переключил свой язык телефона на французский, и всплывающее сообщение о выходе отображалось на французском языке для приложений, реализованных на английском, а также на других языках (но не на французском).
- person Alexandros Mavrommatis   schedule 12.12.2020
comment
Как вы можете сказать, что французский перевод не реализован в strings.xml?
- person Prince Ali   schedule 12.12.2020
comment
@PrinceAli Потому что я также тестировал греческое приложение, реализованное только на греческом языке. Не может быть, чтобы разработчики создали это приложение на греческом языке, создали кучу других файлов strings.xml только для всплывающего сообщения о выходе. Я также протестировал вышеупомянутое приложение для китайского системного языка, и оно сработало. Пожалуйста, не говорите мне, что греческие разработчики создали файл strings.xml на китайском языке только для всплывающего сообщения о выходе: P
- person Alexandros Mavrommatis   schedule 12.12.2020
comment
В этом случае мог использоваться android.R.string.some_default_string. Но Идк!
- person Prince Ali   schedule 12.12.2020
Ответы (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). Точно так же, если вы повторно войдете в приложение, оно отобразит, что вы возобновили активность.
person
Prince Ali
schedule
12.12.2020
Как вы и сказали, это будет отображать тост, когда приложение будет приостановлено, а не после нажатия кнопок «Домой» или «Обзор». Мне нужна функциональность, которая показывает тост после нажатия кнопок. В случае, если приложение приостановлено по другой причине (например, вы покинули приложение из-за звонка), я не хочу, чтобы отображалось всплывающее сообщение. Я определенно уверен, что это возможно, поскольку многие приложения, установленные в моем телефоне, поддерживают эту функцию.
- person Alexandros Mavrommatis; 12.12.2020
Имеет смысл, но я не нашел ничего, что позволяло бы приложению использовать кнопку «Домой». Ну, по крайней мере, пока.
- person Prince Ali; 12.12.2020