1
|
用戶在退出應用前給出一個提示是頗有必要的,由於多是用戶並不真的想退出,而只是一不當心按下了返回鍵,大部分應用也是這麼作的,但也有些應用的作法是在應用退出去前給出一個Dialog,我以爲這樣不太友好,用戶還得移動手指去按dialog中的「肯定」按鈕。我以爲再按一次「返回」鍵退出程序是佳的用戶體驗,實現也很簡單,代碼以下:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
private
long
exitTime =
0
;
@Override
public
boolean
onKeyDown(
int
keyCode, KeyEvent event) {
if
(keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN){
if
((System.currentTimeMillis()-exitTime) >
2000
){
Toast.makeText(getApplicationContext(),
"再按一次退出程序"
, Toast.LENGTH_SHORT).show();
exitTime = System.currentTimeMillis();
}
else
{
finish();
System.exit(
0
);
}
return
true
;
}
return
super
.onKeyDown(keyCode, event);
}
|
1
|
|
1
|
|
1
|
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
<span style=
"white-space:pre"
> </span>
private
long
exitTime =
0
;
<span style=
"white-space:pre"
> </span>
@Override
<span style=
"white-space:pre"
> </span>
public
boolean
onKeyDown(
int
keyCode, KeyEvent event) {
<span style=
"white-space:pre"
> </span>
// TODO Auto-generated method stub
<span style=
"white-space:pre"
> </span>
switch
(keyCode) {
<span style=
"white-space:pre"
> </span>
case
KeyEvent.KEYCODE_BACK:
<span style=
"white-space:pre"
> </span>
if
((System.currentTimeMillis() - exitTime) >
2000
){
<span style=
"white-space:pre"
> </span>toast(
"再按一次返回鍵退出程序!"
);
<span style=
"white-space:pre"
> </span>exitTime = System.currentTimeMillis();
<span style=
"white-space:pre"
> </span>
return
false
;
<span style=
"white-space:pre"
> </span>}
else
{
<span style=
"white-space:pre"
> </span>finish();
<span style=
"white-space:pre"
> </span>System.exit(
0
);
<span style=
"white-space:pre"
> </span>}
<span style=
"white-space:pre"
> </span>
break
;
<span style=
"white-space:pre"
> </span>
default
:
<span style=
"white-space:pre"
> </span>
break
;
<span style=
"white-space:pre"
> </span>}
<span style=
"white-space:pre"
> </span>
return
super
.onKeyDown(keyCode, event);
<span style=
"white-space:pre"
> </span>}
|
結伴旅遊,一個免費的交友網站:www.jieberu.comhtml
推推族,免費得門票,遊景區:www.tuituizu.comjava