歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Android 徹底關閉應用程序 返回鍵的捕獲

在開發Android應用時,常常通過按返回鍵(即keyCode == KeyEvent.KEYCODE_BACK)就能關閉程序,其實大多情況下該應用還在任務裡運行著,其實這不是我們想要的結果。

我們可以這樣做,當用戶點擊自定義的退出按鈕或返回鍵時(需要捕獲動作),我們在onDestroy()裡強制退出應用,或直接殺死進程,具體操作代碼如下:

  1. @Override  
  2.   
  3.  public boolean onKeyDown(int keyCode, KeyEvent event) {  
  4.   
  5.   //按下鍵盤上返回按鈕   
  6.   
  7.   if(keyCode == KeyEvent.KEYCODE_BACK){  
  8.   
  9.    new AlertDialog.Builder(this)  
  10.   
  11.     .setIcon(R.drawable.services)  
  12.   
  13.     .setTitle(R.string.prompt)  
  14.   
  15.     .setMessage(R.string.quit_desc)  
  16.   
  17.     .setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {  
  18.   
  19.      @Override  
  20.   
  21.      public void onClick(DialogInterface dialog, int which) {  
  22.   
  23.      }  
  24.   
  25.     })  
  26.   
  27.     .setPositiveButton(R.string.confirm, new DialogInterface.OnClickListener() {  
  28.   
  29.      public void onClick(DialogInterface dialog, int whichButton) {  
  30.   
  31.       finish();  
  32.   
  33.      }  
  34.   
  35.     }).show();  
  36.   
  37.      
  38.    return true;  
  39.   
  40.   }else{    
  41.   
  42.    return super.onKeyDown(keyCode, event);  
  43.   
  44.   }  
  45.   
  46.  }  
  47.    
  48.   
  49.  @Override  
  50.   
  51.  protected void onDestroy() {  
  52.   
  53.   super.onDestroy();  
  54.   
  55.   System.exit(0);  
  56.   
  57.   //或者下面這種方式   
  58.   
  59.   //android.os.Process.killProcess(android.os.Process.myPid());   
  60.   
  61.  }  
Copyright © Linux教程網 All Rights Reserved