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

实现这个功能的原理就是比较两次按下返回键的时间间隔,如果大于设定的时间间隔(比如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);
    }

}
程序运行截图如下:

Android再按一次返回键退出程序的实现_第1张图片

你可能感兴趣的:(android,返回,onKeyDown,再按一次返回键退出)