Android’de geri butonuna tıklama olayını yakalayarak program’dan çıkmak isteyip istemediğini kullanıcıya sorabilir veya geri butonunun click olayını tarayıcının geri özelliğine bağlayabiliriz detaylar için makalenin devamına gözatmalısınız.
ANDROID ile geri butonuna tıklama olayını yakalama ve programı kapatma
onKeyDown
metodunu override edip hangi tuşa tıklandığı ile ilgili olayın gerçekleştiğini öğrenebiliriz şimdi aşağıdaki koda gözatalım;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | public boolean onKeyDown(int keyCode, KeyEvent event) { //geri butonunu yakalıyoruz if(keyCode == KeyEvent.KEYCODE_BACK && isTaskRoot()) { //Programdan çıkmak isteyip istemediğini soruyoruz new AlertDialog.Builder(this) .setIcon(android.R.drawable.ic_dialog_alert) .setTitle(R.string.quit) .setMessage(R.string.really_quit) .setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { //Aktiviteyi durduruyoruz finish(); } }) .setNegativeButton(R.string.no, null) .show(); return true; } else { return super.onKeyDown(keyCode, event); } } |
Yukarıdaki kodda isTaskRoot()
metoduyla uygulamanın o an başlangıç kısmında olup olmadığını kontrol ediyor true false değer dönderen bu metod ile eğer uygulamanın başlangıç aktivitesindeyseniz size uygulamadan çıkmak istediğinize eminmisiniz şeklinde bir soru sormaktadır.