Android - Как выйти из приложения, когда пользователь нажимает кнопку «Домой»? - PullRequest
3 голосов
/ 30 апреля 2011

Я хочу знать, как выйти из приложения, когда пользователь нажимает кнопку «Домой».

Насколько я знаю, что кнопка «Домой» перемещает запущенное приложение в фоновом режиме и ставит процесс запуска вперед.

Я знаю, что могу использовать finish (), но я не знаю, куда мне его вызывать, потому что я не знаю, какая функция получит вызов, когда пользователь нажмет клавишу Home.

Спасибо.

Ответы [ 2 ]

3 голосов
/ 30 апреля 2011

В зависимости от того, что вы хотите сделать, лучшим выбором может быть переопределение onUserLeaveHint:

http://developer.android.com/reference/android/app/Activity.html#onUserLeaveHint()

Это позволит вашему приложению знать, что ваше приложение закрывается, потому что пользователь решил переключать приложения (например, нажав кнопку «Домой» или выбрав уведомление). Эта функция подсказки будет не вызываться, если входящий телефонный звонок (или аналогичный) заставляет ваше приложение перейти в фоновый режим, поскольку пользователь не инициировал это действие.

1 голос
/ 03 июля 2014

В моем случае,

У меня много приложений в приложении, поэтому, если я использую 'onUserLeaveHint', 'onStop' или ...

Это просто перехватывает переход активности.

Поэтому я ставлю ниже код каждой деятельности.И, наконец, поймайте действие кнопки «Домой» пользователя.

сначала у вас есть одноэлементный объект

public class ActivityContext {
    public static Context context = null;
}

и все действия

@Override
protected void onStop(){  //onStop runs after New one's onResume
    super.onStop();
    if(ActivityContext.context==context) { //user home button out
        AppStartEnd.sendAppEndData(context);
    }
}
@Override
protected void onResume(){  
    super.onResume();
    ActivityContext.context = YourActivity.this;
}

Надеюсь, это поможет вам

...