1、退出应用程序工具类
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
public
class
ExitAPPUtils
extends
Application {
private
List activityList =
new
LinkedList();
private
static
ExitAPPUtils instance;
private
ExitAPPUtils() {
}
// 单例模式中获取唯一的ExitAPPUtils实例
public
static
ExitAPPUtils getInstance() {
if
(
null
== instance) {
instance =
new
ExitAPPUtils();
}
return
instance;
}
// 添加Activity到容器中
public
void
addActivity(Activity activity) {
activityList.add(activity);
}
// 遍历所有Activity并finish
public
void
exit() {
for
(Activity activity : activityList) {
activity.finish();
}
System.exit(
0
);
}
}</activity></activity>
|
2、使用方法
在每个Activity的onCreate方法里添加如下代码
1
|
ExitAPPUtils.getInstance().addActivity(
this
);
|
3、退出代码,放到需要退出的Activity中。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
public
boolean
onKeyDown(
int
keyCode, KeyEvent event) {
if
(keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN){
if
((System.currentTimeMillis()-exitTime) >
2000
){
ToastUtils.show(getApplicationContext(), R.string.exit_hint);
exitTime = System.currentTimeMillis();
}
else
{
ExitAPPUtils.getInstance().exit();
//finish();
//System.exit(0);
}
return
true
;
}
return
super
.onKeyDown(keyCode, event);
}
}
|