Jika user menekan tombol back
satu kali, maka akan tampil
informasi Tekan 2x untuk keluar
. Dan setelah menekan yang kedua
kali, aplikasi akan langsung keluar. Dan diantaranya ada jeda sepersekian
detik.
Fitur ini bisa digunakan untuk mencegah jika user tidak sengaja menekan tombol back. Jadi jika user benar-benar ingin keluar maka harus menekan tombol back dua kali.
Alternatif lain bisa menggunakan alert dialog, tapi sepertinya kurang efektif. Lebih efisien dengan cukup menekan tombol back dua kali.
Di file MainActivity.java
atau di activity menu utama, deklarasi
variabel
boolean doubleBackToExitPressedOnce = false;
Lalu override method onBackPressed()
@Override
public void onBackPressed() {
if (doubleBackToExitPressedOnce) {
super.onBackPressed();
return;
}
this.doubleBackToExitPressedOnce = true;
Toast.makeText(this, "Tekan 2x untuk keluar", Toast.LENGTH_SHORT).show();
new Handler(Looper.getMainLooper()).postDelayed(() -> doubleBackToExitPressedOnce = false, 2000);
}
-
Variabel
doubleBackToExitPressedOnce
disimpan di bagian deklarasi variabel - Untuk delay yang digunakan yaitu 2000 miliseconds atau 2 detik. Bisa diubah di bagian handler
- Jadi jika user menekan tombol back dua kali dalam rentang waktu 2 detik, aplikasi akan keluar, tapi jika sekali saja, akan tampil Toast
- Bagian Toast bisa dihilangkan jika tidak ingin menampilkan informasi apa-apa saat user menekan tombol back
Referensi:
- stackoverflow.com/a/26581534/9928951
Posting Komentar