Android Activity 中的後退按鈕退出確認
在 Android 應用程式中,通常要求使用者按兩次後退按鈕才能退出活動。這種行為稱為「雙回退出」。雖然它看起來像是內建功能,但它不能透過任何特定的類別或方法直接存取。
自訂實作
要實現此功能,您可以在活動的 onBackPressed() 方法中建立您自己的邏輯。以下是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>
在Kotlin 中,您可以使用以下程式碼實現相同的結果:
<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>
在這些實作中,我們有一個布林標誌( doubleBackToExitPressedOnce)追蹤使用者是否已經點選後退按鈕。如果該標誌為真,則活動退出。否則,我們將該標誌設為 true 並顯示一條 toast 訊息,讓使用者有機會取消退出操作。
為了避免無限次點擊後退按鈕,我們使用 Handler 在短暫後重置 doubleBackToExitPressedOnce 標誌延遲(例如 2 秒)。
以上是如何在 Android Activity 中實現雙重返回退出行為?的詳細內容。更多資訊請關注PHP中文網其他相關文章!