android 獲得後退鍵按事件

oufu發表於2015-08-27

  1. //獲得後退鍵退出  
  2. public boolean onKeyDown(int keyCode, KeyEvent event)  {  
  3.     if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {   
  4.       //do something you want  
  5.        return true;  
  6.     }  
  7.    return super.onKeyDown(keyCode, event);  
  8. }  
 

 獲得後退鍵事件後,你可以做到事情很多嘍~~~

比如說再按一次退出程式,網上的做法:

[java] view plaincopy
  1.       private static Boolean isExit = false;  
  2. private static Boolean hasTask = false;  
  3. Timer tExit = new Timer();  
  4. TimerTask task = new TimerTask() {  
  5.       
  6.     @Override  
  7.     public void run() {  
  8.         isExit = false;  
  9.         hasTask = true;  
  10.     }  
  11. };  
  12.   
  13. @Override  
  14. public boolean onKeyDown(int keyCode, KeyEvent event) {  
  15.     System.out.println("TabHost_Index.java onKeyDown");  
  16.     if (keyCode == KeyEvent.KEYCODE_BACK) {  
  17.         if(isExit == false ) {  
  18.             isExit = true;  
  19.             Toast.makeText(this"再按一次後退鍵退出應用程式", Toast.LENGTH_SHORT).show();  
  20.             if(!hasTask) {  
  21.                 tExit.schedule(task, 2000);  
  22.             }  
  23.         } else {  
  24.             finish();  
  25.             System.exit(0);  
  26.         }  
  27.     }  
  28.     return false;  
  29. }  

相關文章