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 = falseoverride 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