第一步:
keyexitzt == 0;
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_FOCUS) {
Toast.makeText(mContext,
mContext.getResources().getString(R.string.camera_exittc),
Toast.LENGTH_SHORT).show();
return true;
} else {
if (keyCode == KeyEvent.KEYCODE_BACK) {
if (keyexitzt == 0) {
Toast.makeText(
mContext,
mContext.getResources().getString(
R.string.camera_exittc), Toast.LENGTH_SHORT)
.show();
keyexitzt = 1;
// 开始计时
closeactivity();
return false;
} else {
this.finish();
}
}
}
return super.onKeyDown(keyCode, event);
}
第二步:
// 退出计时
private static void closeactivity() {
Thread th = new Thread() {
@Override
public void run() {
try {
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
keyexitzt = 0;
} finally {
Message msg = new Message();
msg.what = 1;
loveMessageHandler.sendMessage(msg);
}
}
};
th.start();
}
第三步:
private static Handler loveMessageHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case 1:
Thread.currentThread().interrupt();
this.removeMessages(1);
}
}
};