问题描述
我最近在许多Android应用程序和游戏中都注意到了这种模式:单击“后退”按钮以“退出”该应用程序时,Toast会显示类似“再次按BACK退出”的消息。 经过长时间的搜索,我发现ANE扩展程序在我的应用程序中显示了一个很好的吐司,我已经对其进行了测试,单击后退按钮后它可以正常工作,现在我想在两次单击后退按钮后关闭我的应用程序,但延迟了3秒钟,使用强制代码退出NativeApplication.nativeApplication.exit(0);
ANE扩展: :
我的代码:
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;
}
}
1楼
在您的MainActivity中尝试此操作。 可能有帮助。
@Override
public void onBackPressed() {
finishAffinity();
}
2楼
您可以在活动中使用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
}
}