Android再按一次完全退出程序代码 -电脑资料

电脑资料 时间:2019-01-01 我要投稿
【www.unjs.com - 电脑资料】

    前言:

    前面使用的退出程序用的是finish(),它只能退出当前Activity,

Android再按一次完全退出程序代码

。如果Activity一多就不能一次性退出了。

    1、退出应用程序工具类

/** *  * @author itas109 * TODO 用于完全退出应用程序  */public class ExitAPPUtils extends Application {    private List activityList = new LinkedList();    private static ExitAPPUtils instance;      private ExitAPPUtils() {    }      // 单例模式中获取唯一的ExitAPPUtils实例    public static ExitAPPUtils getInstance() {        if(null == instance) {            instance =new ExitAPPUtils();        }        return instance;    }      // 添加Activity到容器中    public void addActivity(Activity activity) {        activityList.add(activity);    }      // 遍历所有Activity并finish      public void exit() {        for(Activity activity : activityList) {            activity.finish();        }        System.exit(0);    }}

    2、使用方法

    在每个Activity的onCreate方法里添加如下代码

ExitAPPUtils.getInstance().addActivity(this);

3、实现再按一次完全退出效果

    定义时间

private long exitTime = 0;
退出代码,放到需要退出的Activity中,

电脑资料

Android再按一次完全退出程序代码》(https://www.unjs.com)。

public boolean onKeyDown(int keyCode, KeyEvent event) {		if(keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN){ 			if((System.currentTimeMillis()-exitTime) > 2000){ 				ToastUtils.show(getApplicationContext(), R.string.exit_hint);			exitTime = System.currentTimeMillis(); 		} else {			ExitAPPUtils.getInstance().exit();			//finish();			//System.exit(0);		}			return true; 		}		return super.onKeyDown(keyCode, event);	}}

    4、效果图

   

最新文章