2016-05-31 4 views
-1

私はゲームアプリを持っています。ユーザーが戻る、ホーム、メニュー、または電源ボタンを押したときにゲームを一時停止したいと思います。 私は以下のコードを試しましたが、戻るボタンだけが動作します。他の人はToastメッセージを表示しません。どうしてか分かりません。コードに問題はありますか?そうでない場合は、それを行うより良い方法はありますか?プログラムが一時停止しているときにリスナーを設定する方法(ユーザーがアプリケーションから出る)?

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

これは、アクティビティのライフサイクルメソッドが対象となります。 – DeeV

+2

アクティビティの 'onPause()'メソッドを見てください。 –

答えて

0

単にあなたの活動の方法でゲームを一時停止するためにあなたのコードを入れて(Androidのスタジオで、あなたはオーバーライドメソッドのメニューを取得するためにCTRL+Oをクリックし、onPauを入力し始めると、選択することができます法):今すぐどんな理由で、あなたの活動が焦点の外れた場合

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

は(何か他のものはトンで開かれましたそれのop。メッセージに答えるためにwhatsappを開きます)、一時停止します。私はあなたがより多くを読むことをお勧めしますhere

関連する問題