Android完全退出程序

android程序如果按返回键正常退出则会在后台继续运行,Android 2.3以上的开发可以用下面的方法结束所有程序的activity! 


一、创建一个公共类:

public class KillActivity extends Activity{

	private List<Activity> activityList = new ArrayList<Activity>();   
    
	    private static KillActivity instance;   
	      	  
	    protected void onCreate(Bundle savedInstanceState) {  
	        // TODO Auto-generated method stub  
	    	KillActivity.getInstance().addActivity(this);  
	        super.onCreate(savedInstanceState);  
	              
	    }
	 
	    public  static KillActivity getInstance() {   
	        if (null == instance) {   
	            instance = new KillActivity();   
	        }   
	        return instance;   
	    }   
	       
	     
	    public  void remove(Activity activity){     
	          
	    	activityList.remove(activity);     
	             
	    }  
	    
	    protected void onDestroy() {  
	        // TODO Auto-generated method stub  
	        super.onDestroy();  
	        KillActivity.getInstance().remove(this);  
	            }
	  
	    public void addActivity(Activity activity) {   
	    	activityList.add(activity);   
	    }   
	    
	    /** 
	     * 遍历结束activity并且退出 
	     */  
	        public void exit(){   
	        try {   
	            for (Activity activity : activityList) 
	            {   
	                if (activity != null)   
	                    activity.finish();   
	            }   
	              
	            } 
	        catch (Exception e) 
		        {   
		            e.printStackTrace();   
		        } 
	        finally 
	        {   
	            android.os.Process.killProcess(android.os.Process.myPid());     
	            System.exit(0);   
	        }   
	    }
}

二、然后在所有的activity中继承此KillActivity;

三、这样在退出界面调用下面函数即可:

public boolean onKeyDown(int keyCode, KeyEvent event) 
    {  
        // 按下键盘上返回按钮  
        if (keyCode == KeyEvent.KEYCODE_BACK) 
        {  
            new AlertDialog.Builder(this)  
                    .setTitle("提示")  
                    .setMessage("确认退出")  
                    .setNegativeButton("取消",  
                            new DialogInterface.OnClickListener() 
                              {  
                                public void onClick(DialogInterface dialog, int which) 
                                {  
                                }  
                             })  
                    .setPositiveButton("确定",  
                            new DialogInterface.OnClickListener()
                            {  
                                public void onClick(DialogInterface dialog,int whichButton) 
                                {  
                                //  closed();  
                                	KillActivity.getInstance().exit();  
                                }  
                            }).show();  
  
            return true;  
        } 
        else 
        {  
            return super.onKeyDown(keyCode, event);  
        }  
    } //end of onKeyDown()

四、此方法已经成功测试通过!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值