Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發實例 >> 按後退鍵退出Android程序

按後退鍵退出Android程序

編輯:Android開發實例

主要的目的是按後退鍵的時候,讓程序能夠退出。 

實現起來的思路: 

1.捕獲後退鍵被按了這個事件。 

       

Java代碼
  1. @Override  
  2.         public boolean onKeyDown(int keyCode, KeyEvent event)  {  
  3.             if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {   
  4.             //按下的如果是BACK,同時沒有重復  
  5.               //DO SOMETHING      
  6.             }  
  7.   
  8.             return super.onKeyDown(keyCode, event);  
  9.         }   


2.在後退鍵被按的事件裡退出程序 

這裡也有兩種方式:直接退出程序,或者退出到主屏幕。 

1)退出程序的方法有兩種: 

 

Java代碼
  1. android.os.Process.killProcess(android.os.Process.myPid());   



 

Java代碼
  1. System.exit(0);   



我試了這兩種方法,但是奇怪的是,在1.5模擬器下,程序確實被KILL了,但是馬上Android又重新啟動了程序。 

另外還有一種方式,比較友好,可以釋放資源,我覺得可行,就是實現起來麻煩一點,需要逐級退出,重寫onResume()方法: 

 

Java代碼
  1.  @Override  
  2. protected void onResume() {  
  3.     super.onResume();  
  4.     if(mExiting){  
  5.         finish();  
  6.     }  
  7. }  



2)退出到主屏幕 
這個比較簡單,新建一個主屏幕的Intent就可以。 

 

Java代碼
  1. Intent home = new Intent(Intent.ACTION_MAIN);   
  2.     home.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);   
  3.     home.addCategory(Intent.CATEGORY_HOME);   
  4.     startActivity(home);  





我最後采用了按後退鍵回到主屏幕的方式,實現代碼如下: 



 

Java代碼
  1.     
  2. @Override  
  3.  public boolean onKeyDown(int keyCode, KeyEvent event) {  
  4.   if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) { // 按下的如果是BACK,同時沒有重復  
  5.    Intent home = new Intent(Intent.ACTION_MAIN);  
  6.    home.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);  
  7.    home.addCategory(Intent.CATEGORY_HOME);  
  8.    startActivity(home);  
  9.   }  
  10.   return super.onKeyDown(keyCode, event);  
  11.  }  
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved