不知道您有没有这样的体验,我们做了个程序,不想让用户一直点击返回键,不知不觉中退了出来。希望给用户一个更为有好的提示,留下那些其实并没有真的要退出的用户。好吧,今天我就来说说如何实现这一功能。
首先明确一点,用户的一直点击的返回键,之后就会退出到桌面。那么,如何提示呢?很简单,在用户一顿返回键回到程序入口处(即程序的第一个 Activity)给用户一个提示,您再按可就退出程序啦?那么如何在程序入口处增加这个提示呢?明显,我们要侦听用户的点击返回键这一事件。怎样才能做 到侦听这一事件呢?代码如下:
- @Override
- public boolean onKeyDown(int keyCode, KeyEvent event) {
- if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
- dialog();
- return true;
- }
- return true;
- }
重写了Activity的侦听方法,如果用户按的键值与返回键键值相同便执行显示dialog的操作。
当然你还要重写dialog方法:
- protected void dialog() {
- AlertDialog.Builder builder = new Builder(AccoutList.this);
- builder.setMessage("确定要退出吗?");
- builder.setTitle("提示");
- builder.setPositiveButton("确认",
- new android.content.DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- dialog.dismiss();
- //AccoutList.this.finish();
- //System.exit(1);
- android.os.Process.killProcess(android.os.Process.myPid());
- }
- });
- builder.setNegativeButton("取消",
- new android.content.DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- dialog.dismiss();
- }
- });
- builder.create().show();
- }
protected void dialog() {
这时候您再在程序的入口Activity点击返回键时便会看见提示