按后退键退出Android程序

发布时间:2019-10-14 发布网站:大佬教程
大佬教程收集整理的这篇文章主要介绍了按后退键退出Android程序大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

<div id="cnblogs_post_body">
主要的目的是按后退键的时候,让程序能够退出。 

实现起来的思路: 

1.捕获后退键被按了这个事件。 

       

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


2.在后退键被按的事件里退出程序 

这里也有两种方式:直接退出程序,或者退出到主屏幕。 

1)退出程序的方法有两种: 

Java代码 
    android.os.Process.killProcess(android.os.Process.myPid());   



Java代码 
    System.exit(0);   



我试了这两种方法,但是奇怪的是,在1.5模拟器下,程序确实被KILL了,但是马上Android又重新启动了程序。 

另外还有一种方式,比较友好,可以释放资源,我觉得可行,就是实现起来麻烦一点,需要逐级退出,重写onResume()方法: 

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



2)退出到主屏幕 
这个比较简单,新建一个主屏幕的Intent就可以。 

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





我最后采用了按后退键回到主屏幕的方式,实现代码如下: 



Java代码 
        
  1. @Override  
  2.  public boolean onKeyDown(int keyCode, KeyEvent event) {  
  3.   if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) { // 按下的如果是BACK,同时没有重复  
  4.    Intent home = new Intent(Intent.ACTION_MAIN);  
  5.    home.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);  
  6.    home.addCategory(Intent.CATEGORY_HOME);  
  7.    startActivity(home);  
  8.   }  
  9.   return super.onKeyDown(keyCode, event);  
  10.  }  

大佬总结

以上是大佬教程为你收集整理的按后退键退出Android程序全部内容,希望文章能够帮你解决按后退键退出Android程序所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ群:277859234,请注明来意。