二十四、後退ボタンを押してAndroidプログラムを終了する

3018 ワード

主な目的は、後退キーを押すときにプログラムを終了させることです. 
            
実現する構想:1.後退キーイベントをキャプチャするとトリガーされます.
@Override  
public boolean onKeyDown(int keyCode, KeyEvent event) {
// BACK,
if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
//DO SOMETHING
....
}
return true;
}

              
2.後退キーが押されたときにプログラムを終了するここでは、プログラムを直接終了するか、メイン画面に終了するかの2つの方法があります. 
1)プログラムを終了する2つの方法:
android.os.Process.killProcess(android.os.Process.myPid());   

          
System.exit(0);   

この2つの方法を試してみましたが、不思議なことに1.5シミュレータの下で、プログラムは確かにKILLされましたが、すぐにAndroidがまたプログラムを再起動しました. 
もう一つの方法は、比較的友好的で、資源を解放することができます.私は実行できると思います.実現するのが面倒で、段階的に退出し、onResume()を書き換える必要があります.
@Override  
protected void onResume() {
super.onResume();
if(mExiting){
finish();
}
}

            
2)メイン画面に抜ける(推奨)これは比較的簡単で、メイン画面のIntentを1つ新規作成すればよい. 
Intent home = new Intent(Intent.ACTION_MAIN);   
home.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
home.addCategory(Intent.CATEGORY_HOME);
startActivity(home);