退出整个应用程序
退出整个应用程序
mutouzhang 发表于4年前
退出整个应用程序
  • 发表于 4年前
  • 阅读 272
  • 收藏 4
  • 点赞 0
  • 评论 0

标题:腾讯云 新注册用户域名抢购1元起>>>   

将下面SysApplication这个类复制到工程里面,然后在每个Acitivity的oncreate方法里面通过SysApplication.getInstance().addActivity(this); 添加当前Acitivity到ancivitylist里面去,最后在想退出的时候调用SysApplication.getInstance().exit();可直接关闭所有的Acitivity并退出应用程序。

package com.example.Emotional.util;

import java.util.LinkedList; 
import java.util.List; 
import android.app.Activity; 
import android.app.Application; 
 
/**
 * 
* 类名称:SysApplication   
* 类描述:   退出整个应用程序的类
* 创建时间:2014-4-25 下午1:58:00   
* 修改备注:   
* @version    
*
 */

public class SysApplication extends Application { 
	
    private List<Activity> mList = new LinkedList<Activity>(); 
    private static SysApplication instance; 
 
    private SysApplication() {} 
    public synchronized static SysApplication getInstance() { 
        if (null == instance) { 
            instance = new SysApplication(); 
        } 
        return instance; 
    } 
    // add Activity  
    public void addActivity(Activity activity) { 
        mList.add(activity); 
    } 
 
    public void exit() { 
        try { 
            for (Activity activity : mList) { 
                if (activity != null) 
                    activity.finish(); 
            } 
        } catch (Exception e) { 
            e.printStackTrace(); 
        } finally { 
            System.exit(0); 
        } 
    } 
    public void onLowMemory() { 
        super.onLowMemory();     
        System.gc(); 
    }  
}

在硬退出按钮点击时

//点击硬退出按钮
	public void clickQuitDialog() { 
		
	        AlertDialog.Builder builder = new Builder(FirstActivity.this); 
	        builder.setMessage("确定要退出吗?");
	        
//	        builder.setTitle("提示"); 
	        builder.setPositiveButton("确认",new android.content.DialogInterface.OnClickListener() { 
                    @Override 
                    public void onClick(DialogInterface dialog, int which) { 
                        dialog.dismiss(); 
//                        FirstActivity.this.finish(); 
//                        System.exit(0);
                        SysApplication.getInstance().exit();
                    } 
                }); 
	        builder.setNegativeButton("取消",new android.content.DialogInterface.OnClickListener() { 
                    @Override 
                    public void onClick(DialogInterface dialog, int which) { 
                        dialog.dismiss(); 
                    } 
                }); 
	        builder.create().show(); 
	    } 
	
	    @Override 
	public boolean onKeyDown(int keyCode, KeyEvent event) { 
	    	
	    	//event.getRepeatCount() == 0 防止重复点击
	        if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) { 
	        	clickQuitDialog(); 
	            return false; 
	        } 
	        return false; 
	    }


共有 人打赏支持
粉丝 6
博文 189
码字总数 91235
×
mutouzhang
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: