«Свернуть» активность в Android (не заканчивайте ее) - PullRequest
10 голосов
/ 23 ноября 2011

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

Ответы [ 2 ]

12 голосов
/ 23 ноября 2011

Вы можете использовать метод действия moveTaskToBack(boolean).

0 голосов
/ 23 ноября 2011

Краткий ответ:

Вы не можете.

Объяснение:

Андроид Activity Жизненный цикл не дает вам такого уровня контроля.Если операционная система Android нуждается в памяти или телефон прерывает вашу деятельность, он может быть убит.

С другой стороны, возможно, нет.Android приостановит вашу активность и приложение, и, если возможно, не уничтожит никакие Activity s.

Исправление:

Вам необходимо прослушать события onPause() и onResume() в вашем Activity.И вы должны сериализовать и десериализовать ваши данные в каждом случае, сохраняя состояние Activity, когда оно приостанавливается и возобновляется.

Есть хорошее объяснение того, как это работает на сайте разработчиков Android, here .

И если вы просто хотите, чтобы Button в вашем приложении выполняло функцию кнопки home, вы создаете 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...