2017-02-16 294 views
0

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

回答

0

在MainActivity试试这个。可能有帮助。

@Override 
public void onBackPressed() { 
    finishAffinity(); 
} 
0

您可以在您的活动中使用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 
     } 
    }