Java单击后退按钮两次以退出活动

我最近在许多Android应用程序和游戏中都注意到了这种模式:单击“后退”按钮以“退出”该应用程序时,Toast会出现类似“请再次单击BACK退出”的消息。

我想知道,正如我越来越经常看到的那样,这是你可以以某种方式在活动中访问的内置功能吗?我看过许多类的源代码,但似乎找不到任何东西。

当然,我可以考虑几种很容易实现相同功能的方法(最简单的方法可能是在活动中保留一个布尔值,以指示用户是否已经单击过一次……),但是我想知道这里是否已经存在某些东西了。 。

编辑:正如@LAS_VEGAS所提到的,在传统意义上我并不是真的意思是“退出”。(即终止),我的意思是“返回到在启动应用程序启动活动之前打开的所有内容”,如果可以的话:)

回答:

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().postDelayed(new Runnable() {

@Override

public void run() {

doubleBackToExitPressedOnce=false;

}

}, 2000);

}

在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().postDelayed(Runnable { doubleBackToExitPressedOnce = false }, 2000)

}

我认为此处理程序有助于在2秒后重置变量。

以上是 Java单击后退按钮两次以退出活动 的全部内容, 来源链接: utcz.com/qa/409226.html

回到顶部