//记录点击返回键次数
private int clickTime=0;
//记录toast显示的时间
private int times=-1;
private Timer timer=null;
//重写onBackPressd()方法
public void onBackPressed() {
//按下返回键时点击次数加1
clickTime=clickTime+1;
if(clickTime==1&&timer==null){
Toast.makeText(MainActivity.this, "再按一次退出游戏", Toast.LENGTH_SHORT).show();
/**
* 每隔1秒times+1,两秒时(也就是toast消失的时候)让clicktime=0,timer=-1,
* 当toast还在显示的时候再次按下返回键clicktime就会变为2,就会调用onBackPressed()方法销毁程序,
*/
timer=new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
times=times+1;
if(times==2){
clickTime=0;
times=-1;
timer.cancel();
timer=null;
}
}
}, 0,1000);
}else if(clickTime==2){
if(timer!=null){
timer.cancel();
timer=null;
super.onBackPressed();
}else{
super.onBackPressed();
}
}
}
}
大神点击事件(来自于android源码--点击多次进入开发者模式)
long[]mHits=new long[n];
//onClick
System.arraycopy(mHits, 1, mHits, 0, mHits.length - 1);
mHits[mHits.length-1]= SystemClock.uptimeMillis();
if (mHits[0]>=(SystemClock.uptimeMillis()-time)){
super.onBackPressed();
}
n:点击次数
time:要求多少时间内点击完成