今天发现点击键盘返回键的时候,程序并没有结束,因为线程还在跑,还在向服务器上传数据。
于是找了一下,其实这个好像以前也用过的,忘了。
还有new AlertDialog.Builder(this).create().show()的用法
以及之间自己定义的dialog,就是弹出 对话列表框的那个程序,其实那个 dialog也没有弄明白,只是看别人这么写的而已。
//捕捉键盘返回键退出
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK ) {
new AlertDialog.Builder(this)
.setTitle("退出程序")
.setMessage("是否要退出?")
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
onDestroy(); }
})
.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
}).create().show();
}
return super.onKeyDown(keyCode, event);
}
@Override
protected void onDestroy() {
super.onDestroy();
System.exit(0);
}
调用 onDestroy()彻底返回程序,我这里没有涉及到很多个acvity的情况,有时候可能按返回键需要返回上一个activity,而不是彻底的返回程序呢?遇到了再研究吧。
世上无难事,只怕有心人,不要对自己不自信,什么事情都是可能的。