onBackPressed和onKeyDown都可实现
onBackPressed适用于2.0及以后
/**
* 返回键,退出应用程序之前给个提示
*/
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if((keyCode == KeyEvent.KEYCODE_BACK) && (event.getRepeatCount() == 0)){
AlertDialog dialog = new AlertDialog.Builder(this)
.setIcon(R.drawable.icon)
.setTitle("确定退出软件?")
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface paramDialogInterface, int paramInt) {
// TODO Auto-generated method stub
Tab2.this.finish();
// 若没有以下语句,当程序退出是,通知仍然存在,
// 当程序退出时,同时取消通知
notificationManager.cancel(0);
// 结束进程
android.os.Process.killProcess(android.os.Process.myPid());
}
})
.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface paramDialogInterface, int paramInt) {
// TODO Auto-generated method stub
return;
}
})
.create();
dialog.show();
}
// 必须将return super.onKeyDown(keyCode, event);替换为return true; 不然对话框只是一闪而过
// return super.onKeyDown(keyCode, event);
return true;
}