在Android开发过程中,经常要对部分手机按键进行自定义的处理,我们可以通过重写Activity的方法onKeyDown()来实现,我们根据对不同的键的处理可以增强用户体验。
private long mExitTime;//保存上次点击back键的系统时间@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {if (keyCode == KeyEvent.KEYCODE_BACK) {if ((System.currentTimeMillis() - mExitTime) > 2000) {//时间相隔大于2s吐司提醒Toast.makeText(this, "再按一次退出程序", Toast.LENGTH_SHORT).show();mExitTime = System.currentTimeMillis();} else {//退出应用finish();}return true;}return super.onKeyDown(keyCode, event);
}
这样是不是就和我们使用过的很多APP一样了。
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {if(keyCode == KeyEvent.KEYCODE_BACK) {// 监控返回键new AlertDialog.Builder(KeyActivity.this).setTitle("提示").setIconAttribute(android.R.attr.alertDialogIcon).setMessage("确定要退出吗?").setPositiveButton("确认", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {KeyActivity.this.finish();}}).setNegativeButton("取消", null).create().show();return true;}return super.onKeyDown(keyCode, event);
}
一般的APP按下Back键显示的都是这两种效果,Dialog的布局主要是为了显示,大家也可以去自己设计漂亮符合APP风格的界面。
结束语:本文仅用来学习记录,参考查阅。