Я перехожу из Activity A в Activity B и наоборот, в Activity A у меня есть кнопка выхода, когда я нажимаю exit, она не выходит, я должен нажать два раза для выхода из приложения, когда я возвращаюсь из Activity B в Activity A. , пожалуйста, помогитеAndroid: не удалось выйти одним щелчком мыши
ответ
Какую функцию вы звоните, чтобы выйти?
С Android, если вы переходите от одной операции к другой, они попадают в стек, поэтому, например, при использовании кнопки «Назад» она просто выдает активность сверху.
Для некоторых дискуссий относительно того, как вы можете справиться с этим вы можете посмотреть на этот вопрос: How to dismiss previous activities in android at a certain point?
Или это может быть лучший вопрос: Closing several android activities simultaneously
спасибо, что он работал .. – Mitt
Это означает, что в памяти имеется несколько экземпляров вашей активности. Если вы хотите закрыть все из них, вы можете зарегистрировать широковещательный приемник в onResume, и этот широковещательный приемник будет называть finish() для активности. Ваша кнопка выхода посылает широковещательное намерение, что этот приемник получает
что-то вроде следующего ...
, определенное в вашей деятельности:
BroadcastReceiver activityKillerOnTheLoose = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
finish();
}
};
в вашем onResume метода (зарегистрироваться для получения передач)
@Override
public void onResume()
{
super.onResume();
registerReceiver(
activityKillerOnTheLoose,
new IntentFilter(ActivityKillerBroadcastKey));
в вашем OnPause (убедитесь, что для отмены регистрации!)
@Override
public void onPause()
{
super.onPause();
unregisterReceiver(activityKillerOnTheLoose);
и вещать ...
Intent activityKillerBroadcast = new Intent(ActivityKillerBroadcastKey);
sendBroadcast(activityKillerBroadcast);
+1 - Мне действительно нравится эта идея использования широковещательного приемника. Я никогда не рассматривал это как решение. Спасибо. –
Спасибо, что это сработало для меня .. – Mitt
кнопку Выход? Вы имеете в виду кнопку «Назад»? – Codeman
опубликуйте функцию обратного вызова кнопки «Выход». – hovanessyan
У меня есть одна кнопка, имя которой завершено, и я пишу на его окончании события click(); – Mitt