Android再按一次返回键退出程序的实现

双击返回键退出应用
本文介绍了一种通过比较两次按下返回键的时间间隔来实现应用退出功能的方法。当两次按键时间间隔超过设定值(如2秒)时,将提示用户再次点击退出;若间隔小于设定值,则直接退出应用。

实现这个功能的原理就是比较两次按下返回键的时间间隔,如果大于设定的时间间隔(比如2秒),则提示再按一次返回键退出,否则直接退出程序,代码如下:

package com.example.test;

import android.os.Bundle;
import android.app.Activity;
import android.view.KeyEvent;
import android.widget.Toast;

public class MainActivity extends Activity {
	//上次按下返回键的系统时间
	private long lastBackTime = 0;
	//当前按下返回键的系统时间
	private long currentBackTime = 0;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
    
    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
    	//捕获返回键按下的事件
    	if(keyCode == KeyEvent.KEYCODE_BACK){
    		//获取当前系统时间的毫秒数
    		currentBackTime = System.currentTimeMillis();
    		//比较上次按下返回键和当前按下返回键的时间差,如果大于2秒,则提示再按一次退出
    		if(currentBackTime - lastBackTime > 2 * 1000){
    			Toast.makeText(this, "再按一次返回键退出", Toast.LENGTH_SHORT).show();
    			lastBackTime = currentBackTime;
    		}else{ //如果两次按下的时间差小于2秒,则退出程序
    			finish();
    		}
    		return true;
    	}
    	return super.onKeyDown(keyCode, event);
    }

}
程序运行截图如下:



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yubo_725

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值