您的位置:首页 > 其它

两次返回退出程序\弹出退出程序提示框

2016-01-06 09:57 190 查看
/**
* 两次返回退出程序
*/
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {

if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) {
exitBy2Click();
}
return false;
}

private void exitBy2Click() {

Timer tExit = null;

if (isExit == false) {
isExit = true; // 准备退出
Toast.makeText(this, "再按一次退出程序", Toast.LENGTH_SHORT).show();
tExit = new Timer();
tExit.schedule(new TimerTask() {
public void run() {
isExit = false; // 取消退出
}
}, 2000); // 如果2秒钟内没有按下返回键,则启动定时器取消掉刚才执行的任务

} else {
DownLoadManager downloadManager = DownloadService
.getDownLoadManager(HomeActivity.this);
// downloadManager.stopAllDownload();
downloadManager.saveState();

finish();
System.exit(0);
}
}


/**
* 退出程序提示框
*/
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (((keyCode == KeyEvent.KEYCODE_BACK) || (keyCode == KeyEvent.KEYCODE_HOME))
&& event.getRepeatCount() == 0) {
new AlertDialog.Builder(HomeActivity.this)
.setTitle("确定")
.setMessage("确定退出程序?")
.setPositiveButton("取消", null)
.setNegativeButton("确定",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0,
int arg1) {
android.os.Process
.killProcess(android.os.Process
.myPid());
}
}).create().show();
}
return false;
// end onKeyDown
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: