Pengesahan Keluar Butang Belakang dalam Aktiviti Android
Dalam aplikasi Android, adalah perkara biasa untuk meminta pengguna menekan butang belakang dua kali untuk keluar dari aktiviti. Tingkah laku ini dikenali sebagai "double-back-to-exit". Walaupun ia kelihatan seperti ciri terbina dalam, ia tidak boleh diakses secara langsung melalui mana-mana kelas atau kaedah tertentu.
Pelaksanaan Tersuai
Untuk melaksanakan fungsi ini, anda boleh cipta logik anda sendiri dalam kaedah onBackPressed() aktiviti. Berikut ialah contoh dalam Java:
<code class="java">boolean doubleBackToExitPressedOnce = false; @Override public void onBackPressed() { if (doubleBackToExitPressedOnce) { super.onBackPressed(); return; } this.doubleBackToExitPressedOnce = true; Toast.makeText(this, "Please click BACK again to exit", Toast.LENGTH_SHORT).show(); new Handler(Looper.getMainLooper()).postDelayed(new Runnable() { @Override public void run() { doubleBackToExitPressedOnce=false; } }, 2000); } </code>
Dalam Kotlin, anda boleh mencapai hasil yang sama dengan kod berikut:
<code class="kotlin">private var doubleBackToExitPressedOnce = false override fun onBackPressed() { if (doubleBackToExitPressedOnce) { super.onBackPressed() return } this.doubleBackToExitPressedOnce = true Toast.makeText(this, "Please click BACK again to exit", Toast.LENGTH_SHORT).show() Handler(Looper.getMainLooper()).postDelayed(Runnable { doubleBackToExitPressedOnce = false }, 2000) }</code>
Dalam pelaksanaan ini, kami mempunyai bendera boolean (doubleBackToExitPressedOnce) yang menjejaki sama ada pengguna telah mengklik butang kembali. Jika bendera itu benar, aktiviti akan keluar. Jika tidak, kami menetapkan bendera kepada benar dan memaparkan mesej roti bakar, memberi pengguna peluang untuk membatalkan tindakan keluar.
Untuk mengelakkan klik butang belakang yang tidak terhingga, kami menggunakan Pengendali untuk menetapkan semula bendera doubleBackToExitPressedOnce selepas masa yang singkat kelewatan (cth., 2 saat).
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Gelagat Double-Back-to-Exit dalam Aktiviti Android?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!