Ketika pengguna ingin keluar dari semua aktivitas terbuka , mereka harus menekan tombol yang memuat Aktivitas pertama yang berjalan saat aplikasi Anda mulai, menghapus semua aktivitas lain, lalu menyelesaikan sisa aktivitas yang terakhir. Biarkan kode berikut dijalankan ketika pengguna menekan tombol keluar. Dalam kasus saya, LoginActivity
adalah aktivitas pertama dalam program saya untuk dijalankan.
Intent intent = new Intent(getApplicationContext(), LoginActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.putExtra("EXIT", true);
startActivity(intent);
Kode di atas menghapus semua aktivitas kecuali untuk LoginActivity
. Kemudian masukkan kode berikut ke dalam LoginActivity
's onCreate(...)
, untuk mendengarkan kapan LoginActivity
diciptakan kembali dan sinyal' EXIT 'berlalu:
if (getIntent().getBooleanExtra("EXIT", false)) {
finish();
}
Mengapa membuat tombol keluar di Android begitu sulit?
Android berusaha keras untuk mencegah Anda memiliki tombol "keluar" di aplikasi Anda, karena mereka ingin pengguna tidak pernah peduli apakah program yang mereka gunakan berjalan di latar belakang atau tidak.
Pengembang OS Android ingin agar program Anda dapat bertahan dari pematian yang tidak terduga dan matikan telepon, dan ketika pengguna memulai kembali program, mereka mengambil tepat di mana mereka tinggalkan. Jadi pengguna dapat menerima panggilan telepon saat mereka menggunakan aplikasi Anda, dan membuka peta yang mengharuskan aplikasi Anda dibebaskan untuk sumber daya yang lebih banyak.
Ketika pengguna melanjutkan aplikasi Anda, mereka mengambil tepat di mana mereka tinggalkan tanpa gangguan. Tombol keluar ini mengambil daya dari pengelola aktivitas, yang berpotensi menyebabkan masalah dengan siklus hidup program android yang dikelola secara otomatis.