"Минимизировать" активность в Android (не завершайте)

Я хочу "свернуть" приложение, оставив его в фоновом режиме точно так же, как при нажатии кнопки "Дом", когда пользователь нажимает кнопку (но не заканчивает ее). Как я могу это сделать?

Ответ 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);