2017-02-16 346 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 
     } 
    }