Коли користувач хоче вийти з усіх відкритих дій , він повинен натиснути кнопку, яка завантажує першу Активність, яка запускається при запуску програми, очистити всі інші дії, а потім закінчити останню активність. Запустити такий код, коли користувач натисне кнопку виходу. У моєму випадку LoginActivity
це перша діяльність в моїй програмі.
Intent intent = new Intent(getApplicationContext(), LoginActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.putExtra("EXIT", true);
startActivity(intent);
Наведений вище код видаляє всі види діяльності , за винятком LoginActivity
. Потім помістіть наступний код усередину LoginActivity
's onCreate(...)
, щоб прослухати, коли LoginActivity
він відтворений і переданий сигнал' EXIT ':
if (getIntent().getBooleanExtra("EXIT", false)) {
finish();
}
Чому так важко зробити кнопку виходу в Android?
Android намагається відвернути вас від того, щоб у вашій програмі була кнопка "вихід", оскільки вони хочуть, щоб користувач ніколи не переймався тим, чи використовуються вони програми, які працюють у фоновому режимі чи ні.
Розробники ОС Android хочуть, щоб ваша програма змогла пережити несподіване вимкнення та вимкнення живлення телефону, і коли користувач перезапустить програму, вони підбираються там, де вони зупинилися. Таким чином, користувач може отримувати телефонний дзвінок під час використання вашої програми та відкривати карти, що вимагає звільнення вашої програми для отримання додаткових ресурсів.
Коли користувач поновлює вашу заявку, вони підбираються прямо там, де вони припинялися без перерви. Ця кнопка виходу узурпує енергію менеджера діяльності, що може спричинити проблеми з автоматично керованим життєвим циклом програми Android.