Android アクティビティでの戻るボタン終了確認
Android アプリケーションでは、通常、ユーザーがアクティビティを終了するために戻るボタンを 2 回押す必要があります。活動。この動作は、「double-back-to-exit」として知られています。これは組み込み機能のように見えるかもしれませんが、特定のクラスやメソッドから直接アクセスすることはできません。
カスタム実装
この機能を実装するには、次のことができます。アクティビティの 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 の場合、アクティビティは終了します。それ以外の場合は、フラグを true に設定してトースト メッセージを表示し、ユーザーに終了アクションをキャンセルする機会を与えます。
無限の戻るボタンのクリックを避けるために、ハンドラーを使用して、短い時間が経過した後に doubleBackToExitPressedOnce フラグをリセットします。遅延 (例: 2 秒)。
以上がAndroid アクティビティで 2 回の戻ると終了の動作を実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。