2016-05-31 3 views
-1

게임 앱이있어서 사용자가 뒤로, 홈, 메뉴 또는 전원 버튼을 누르면 게임을 일시 중지하고 싶습니다. 아래의 코드를 시도했지만 뒤로 버튼 만 작동합니다. 다른 이들은 토스트 메시지조차도 보여주지 않습니다. 나는 이유를 모른다. 코드에 문제가 있습니까? 그렇지 않다면 더 좋은 방법이 있을까요?프로그램이 일시 중지되었을 때 리스너를 설정하는 방법 (사용자가 앱에서 나옴)?

public boolean onKeyDown(int keycode, KeyEvent e) { 
    switch(keycode) { 
     case KeyEvent.KEYCODE_HOME: 
      pause(null); 
      Toast.makeText(this,"Hello World",Toast.LENGTH_LONG).show(); 
      return true; 
     case KeyEvent.KEYCODE_MENU: 
      pause(null); 
      Toast.makeText(this,"Hello World",Toast.LENGTH_LONG).show(); 
      return true; 
     case KeyEvent.KEYCODE_BACK: 
      pause(null); 
      Toast.makeText(this,"Hello World",Toast.LENGTH_LONG).show(); 
      return true; 
     case KeyEvent.KEYCODE_POWER: 
      pause(null); 
      Toast.makeText(this,"Hello World",Toast.LENGTH_LONG).show(); 
      return true; 
    } 
    return super.onKeyDown(keycode, e); 
} 

}

+3

Activity의 라이프 사이클 메소드는 다음과 같습니다. – DeeV

+2

활동의'onPause()'메소드를 확인하십시오. –

답변

0

단순히 안드로이드 스튜디오에서 (당신의 활동의 onPause 방법으로 게임을 일시 중지에 대한 코드를 넣어, 당신은 재정의 메서드 메뉴를 얻을 수 CTRL+O을 클릭 onPau 입력을 시작하고 선택할 수 있습니다 방법) : 이제 어떤 이유로 활동의 초점이 맞지 얻는 경우에

@Override 
public void onPause() { 
    super.onPause(); 
    pause(null); 
    Toast.makeText(this,"Hello World",Toast.LENGTH_LONG).show(); 
} 

는 (다른 뭔가가 t에 열립니다 그것의 op. 메시지에 응답하기 위해 whatsapp 열기) 일시 중지됩니다. 나는 당신이 더 here를 읽는 것이 좋습니다.

관련 문제