按两次退出按钮退出AIR安卓应用程序
问题描述:
我最近在很多Android应用程序和游戏中注意到了这种模式:当点击后退按钮以退出应用程序时,Toast会出现类似于“再次按BACK退出”。经过很长时间的搜索后,我发现一个ANE扩展在我的应用程序中显示了一个很好的敬酒,我已经测试过它,并且在单击后退按钮后工作正常,现在我想要在点击后退按钮两次后关闭我的应用程序,延迟3秒,使用强制代码退出 NativeApplication.nativeApplication.exit(0);按两次退出按钮退出AIR安卓应用程序
ANE扩展: https://github.com/mateuszmackowiak/NativeDialogs
我的代码:
import flash.ui.Keyboard;
import flash.events.KeyboardEvent;
import pl.mateuszmackowiak.nativeANE.notifications.Toast;
stop();
NativeApplication.nativeApplication.addEventListener(KeyboardEvent.KEY_DOWN, CheckKeypress);
function CheckKeypress(event: KeyboardEvent): void {
switch (event.keyCode) {
case Keyboard.BACK:
trace("Back key is pressed.");
event.preventDefault();
event.stopImmediatePropagation();
Toast.show("Press Back again to exit", Toast.LENGTH_LONG);
break;
case Keyboard.MENU:
trace("Menu key is pressed.");
break;
case Keyboard.SEARCH:
trace("Search key is pressed.");
break;
}
}
答
在MainActivity试试这个。可能有帮助。
@Override
public void onBackPressed() {
finishAffinity();
}
答
您可以在您的活动中使用onBackPressed()。当用户按下后退按钮。这个方法将被调用。我认为下面的代码会帮助你。
@Override
public void onBackPressed() {
if(initialClickTime == 0){
initialClickTime = System.currentTimeMillis();
//Toast with msg press again to exit
}else{
if ((System.currentTimeMillis() - initialClickTime)/1000 == 3){
finish();
}else{
initialClickTime = 0;
//Toast with msg press again to exit
}
}