Android 返回两次退出程序


正文

话不多说,实现代码+详细注释如下:

private long mExitTime = 0;
//定义并初始化长整型变量mExitTime为下面的记录按下时间做准备

//下来重写返回监听方法
@Override

public void onBackPressed(){
//这里面便是返回方法具体实现的内容
        if( System.currentTimeMillis() - mExitTime > 2000){
        //判断当前按下返回键的时间和你定义的mExitTime的差是否大于2秒,如果大于则执行里面的程序 ( 注:1000 = 1秒 以此类推 ) 
                Toast.makeText(MainActivity.this, "再按一次退出程序", Toast.LENGTH_SHORT).show();
                //弹窗提示,你也可以不写,当然了,写了更好些。这里唯一需要变的就是把MainActivity改成你的Activity name。
                mExitTime = System.currentTimeMillis();
                //重点讲这个:把当前按下返回键的时间赋给mExitTime,这样的话你在两秒内再次按返回时判断将不会执行这里的代码,而是去执行else里的了 ( 这里涉及java基础,慢慢理解,如果不会可以问我 )
        }else{
                finish();  //关闭当前Activity
          	  	//延迟销毁程序,提升使用体验
            	try {
                	Thread.sleep(1000);  //延迟一秒 1000 ---> 一秒
                	System.exit(0);  //0代表正常退出,其他非0都为非正常退出
            	} catch (InterruptedException e) {
                	e.printStackTrace();
            	}
        }
}

补充

  • Java 基础之 if 判断

格式:

        if (判断条件){
                //条件为真时执行这里
        } else {
                //条件为假时执行这里
        }

实例:

        //下面代码想亲手试试的,去 main() 方法里敲敲试试。
        int a = 1;
        int b = 0;
        if ( a > b ){
                System.out.println("a大于b");
        } else {
                System.out.println("a小于b");
        }
//这里很明显 a为1 , b为0 程序会输出 "a大于b",故类比到我们上面的返回监听中,你就很好理解了。

好了,内容结束。喜欢的点赞加关注,溜了溜了。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值