[解決済み】戻るボタンを2回クリックしてアクティビティを終了する方法
2022-03-25 13:55:27
質問
最近、多くのAndroidアプリやゲームでこのパターンに気づきました。戻るボタンをクリックしてアプリケーションを終了するときに
Toast
のようなメッセージが表示され、「Please click BACK again to exit"」と表示されます。
よく見かけるようになったので疑問に思ったのですが、これはアクティビティでどうにかしてアクセスできる組み込み機能なのでしょうか?多くのクラスのソースコードを見てみましたが、そのようなことは見つからないようです。
もちろん、同じ機能を簡単に実現する方法はいくつか考えられますが(最も簡単なのは、ユーザーがすでに一度クリックしたかどうかを示すブール値をアクティビティに保持することでしょう...)、ここにすでに何かあるのではないかと思っていました。
EDIT : LAS_VEGAS さんがおっしゃるように、私は従来の意味での "exit" は本当に意味しませんでした。(つまり、アプリケーションの起動アクティビティが開始される前に開いていたものに戻るという意味です:)
解決方法は?
<ブロッククオート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);
}
Kotlin Activityで。
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)
}
このハンドラは、2秒後に変数をリセットするのに役立つと思います。
関連
-
[解決済み] Androidです。前のアクティビティに戻る
-
[解決済み] Javaにデストラクタはありますか?
-
[解決済み] javaでAnnotation Inheritanceのようなものはあるのでしょうか?
-
[解決済み] インスタンス状態の保存を使用してアクティビティ状態を保存するにはどうすればよいですか?
-
[解決済み] 整数の平方根が整数であるかどうかを判断する最速の方法
-
[解決済み] Bitmapオブジェクトに画像を読み込む際にOutOfMemoryが発生する問題
-
[解決済み] グリッドレイアウトにおけるフリングジェスチャーの検出
-
[解決済み] ボタンクリックで新しいアクティビティを開始する方法
-
[解決済み] 静的変数が悪とされるのはなぜですか?
-
[解決済み] Gradleの実装とAPIの設定
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] ストリングビルダー.イコール Java
-
[解決済み] Java の substring() の時間複雑性
-
[解決済み] JOGLまたはLWJGLの既成のプロジェクト
-
[解決済み] Java の条件付きコンパイル:コードチャンクをコンパイルしないようにするには?
-
[解決済み] javascriptでExpression言語を使うには?
-
[解決済み] javax.naming.NameNotFoundException
-
[解決済み] java.util.MissingFormatArgumentException: 形式指定子 '%s' がありません。
-
[解決済み] Apache Camelのログに簡単なテキストを記録する
-
[解決済み] HTTP ステータス 500 - サーブレットクラス pkg.coreServlet のインスタンス化に失敗しました。
-
[解決済み] Java: getInstanceとStaticの比較