2017-02-16 2 views
0

최근에 많은 Android 응용 프로그램 및 게임에서이 패턴을 발견했습니다. 다시 버튼을 클릭하여 응용 프로그램을 종료하면 토스트에 다음과 유사한 메시지가 표시됩니다. "종료하려면 다시 BACK"을 누르십시오. 오랜 시간 동안 검색 한 후에 ANE 확장 프로그램이 내 앱에서 멋진 토스트를 보여주는 것을 발견했습니다. 테스트를 마쳤으며 뒤로 버튼을 클릭 한 후 올바르게 작동합니다. 이제는 뒤로 버튼을 두 번 클릭 한 후 앱을 닫고 싶습니다. 3 초, 강제 종료 코드 사용 NativeApplication.nativeApplication.exit (0);뒤로 버튼을 두 번 눌러 AIR android 응용 프로그램을 종료합니다.

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 
     } 
    } 
관련 문제