我最近在很多Android应用程序和游戏中都注意到了这种模式:当点击后退按钮“退出”应用程序时,Toast会弹出类似于“请再次点击后退退出”的消息
我想知道,正如我越来越经常看到的那样,这是一个内置的功能,您可以在活动中以某种方式访问它吗?我看过很多类的源代码,但似乎找不到任何相关的内容
当然,我可以考虑一些方法来很容易地实现相同的功能(最简单的方法可能是在活动中保留一个布尔值,指示用户是否已经单击过一次…),但我想知道这里是否已经有了一些东西
编辑:正如@LAS_VEGAS提到的,我的意思并不是传统意义上的“退出”。(即终止)我的意思是“返回到启动应用程序启动活动之前打开的任何内容”,如果这有意义的话:)
在Java活动中:
布尔doublebacktoexit pressedonce=false;
@凌驾
public void onBackPressed(){
如果(DoubleBacktoExit按Donce){
super.onBackPressed();
回来
}
this.doublebacktoexit pressedonce=true;
Toast.makeText(这是“请再次单击上一步退出”,Toast.LENGTH.SHORT).show();
新处理程序(Looper.getMainLooper()).postDelayed(newrunnable()){
@凌驾
公开募捐{
DoubleBackToExit PresseDonce=false;
}
}, 2000);
}
在Kotlin活动中:
private var doublebacktoexit pressedonce=false
重写函数onBackPressed(){
如果(DoubleBacktoExit按Donce){
super.onBackPressed()
回来
}
this.doublebacktoexit pressedonce=true
Toast.makeText(这是“请再次单击上一步退出”,Toast.LENGTH.SHORT.show()
处理程序(Looper.getMainLooper()).postDelayed(Runnable{doubleBackToExitPressedOnce=false},2000)
}
我认为这个处理程序有助于在2秒钟后重置变量