Я хочу "свернуть" приложение, оставив его в фоновом режиме точно так же, как при нажатии кнопки "Дом", когда пользователь нажимает кнопку (но не заканчивает ее). Как я могу это сделать?
"Минимизировать" активность в Android (не завершайте)
Ответ 1
Вы можете использовать moveTaskToBack(boolean)
метод Activity.
Ответ 2
Краткий ответ:
вы не можете.
Объяснение:
Андроид Activity
Жизненный цикл не дает вам такого уровня контроля. Если для ОС Android требуется память, или телефон прерывает вашу деятельность, она может быть убита.
Тогда это может и не быть. Android приостанавливает действие и приложение, и, если возможно, он не уничтожит никаких Activity
s.
Исправление:
Вам нужно прослушать события onPause()
и onResume()
в Activity
. И вы должны сериализовать и десериализовать свои данные в каждом случае, сохраняя состояние Activity
, когда оно приостановлено и возобновлено.
Там есть хорошее объяснение того, как это работает на сайте разработчика Android, здесь.
И если вы просто хотите, чтобы Button
в вашем приложении выступал в качестве домашней кнопки, вы создаете Intent
для ACTION_MAIN
и категории CATEGORY_HOME
.
Intent startMain = new Intent(Intent.ACTION_MAIN);
startMain.addCategory(Intent.CATEGORY_HOME);
startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(startMain);