Activity 를 두 번 누르면 종료합니다

3753 단어
원백프레시드와 원키다운의 차이점을 먼저 보도록 하겠습니다.
Android에서는 버튼의 이벤트를 가져오는 두 가지 방법이 있습니다.
1. 이벤트를 직접 가져오고 누르면 안드로이드 1.0에서 안드로이드 2.1까지 호환되는 일반적인 방법입니다. Activity의 onKeyDown 방법을 직접 다시 쓰면 됩니다. 코드는 다음과 같습니다.
@Override public boolean on Key Down(int key Code, Key Event event) {if(key Code = = Key Event.KEYCODE BACK) {//를 눌렀을 때 Toast.makeText(ml78this, 되돌아오는 키 Back 키 테스트), 1).show(), return true;    }
    return super.onKeyDown(keyCode, event); }
안드로이드 2.0의 시작에 새로운 방법이 하나 더 생겼다. Activity에서 Back 키를 단독으로 받을 수 있는 누르는 이벤트에 대해 OnBackPressed 방법을 다시 쓰면 된다. 코드는 다음과 같다.
@Override public void on Back Pressed () {//여기서 논리 코드를 처리합니다. 이 방법은 2.0 또는 업데이트 버전의 sdk return에만 적용됩니다.
1 이제 루트 Activity에 대해 2 를 누르면 종료됩니다.
 
private static boolean isSysExit = false;
    @Override
    public void onBackPressed() {
        // TODO Auto-generated method stub
        if(!isSysExit){
            isSysExit = true;
            
            DensityUtil.showToast(this, "      ");
            Timer timer = new Timer();
            timer.schedule(new TimerTask() {
                
                @Override
                public void run() {
                    // TODO Auto-generated method stub
                    isSysExit =false;
                }
            }, 2000);
        }else {
            finish();
        }
    }

 
2 루트 Activity에서 후퇴 버튼 응답 이벤트를 다시 쓰고 후퇴 버튼을 눌렀을 때 Activity를 백그라운드로 되돌려줍니다
@Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        // TODO Auto-generated method stub
        //        Activity     
        if(keyCode ==KeyEvent.KEYCODE_BACK){
            moveTaskToBack(true);
            return true;
        }
        
        return super.onKeyDown(keyCode, event);
    }

좋은 웹페이지 즐겨찾기