对于一般的android手机,都提供了四个(目前主流三个)按键。这几个按键中,back(返回)键用得比较多,对back键出发的事件一般是通过重写onKeyDown(int keyCode, KeyEvent event)这个方法实现的。

1.按下back键默认是退出当前activity;

2.连按两次退出,这个是目前用的比较多的一个功能了,它的实现原理:在第一次触发onKeyDown事件,设置一个定时器,如果在指定时间里,没有再次触发该事件,泽清除效果,代码如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

代码

@Override

public boolean onKeyDown(int keyCode, KeyEvent event) {

if(keyCode == KeyEvent.KEYCODE_BACK){

exit2Click() ;

}

return false;

}

public void exit2Click() {

System.out.println(isExit);

Timer timer = new Timer() ;

if(isExit == false){

Toast.makeText(this, "再按一次退出", 1000).show() ;

isExit = true ;

timer.schedule(new TimerTask() {

@Override

public void run() {

isExit = false ;

}

}, 5000) ;

}else{

finish() ;

}

}

3.自定义的view中按下back键:一般来说,android默认的焦点在activity上,如果要在自定义view中按下返回键,则需要将焦点设置在这个view上;