private long mExitTime;
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
//判断用户是否点击了“返回键”
if (keyCode == KeyEvent.KEYCODE_BACK) {
//与上次点击返回键时刻作差
if ((System.currentTimeMillis() - mExitTime) > 2000) {
//大于2000ms则认为是误操作,使用Toast进行提示
ToastUtil.show("再按一次退出程序");
//并记录下本次点击“返回键”的时刻,以便下次进行判断
mExitTime = System.currentTimeMillis();
} else {
//小于2000ms则认为是用户确实希望退出程序-调用System.exit()方法进行退出
SUtil.removeAllActivity();
}
return true;
}
return super.onKeyDown(keyCode, event);
}
/* 存储所有存活的 Activity */
private static List<Activity> mActivityList = new LinkedList<Activity>();
//这是删除所有Activity的
public static void removeAllActivity(){
List<Activity> activityList = getActivityList();
for (Activity activity : activityList) {
activity.finish();
}
mActivityList.removeAll(activityList);
}
网友评论