当前位置: 代码迷 >> Android >> 两次按返回按钮退出AIR android应用程序
  详细解决方案

两次按返回按钮退出AIR android应用程序

热度:61   发布时间:2023-08-04 11:25:13.0

我最近在许多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;
    }
}

在您的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
       }
    }
  相关解决方案