Chinaunix首页 | 论坛 | 博客
  • 博客访问: 580877
  • 博文数量: 192
  • 博客积分: 3780
  • 博客等级: 中校
  • 技术积分: 1487
  • 用 户 组: 普通用户
  • 注册时间: 2010-08-26 10:11
文章存档

2012年(6)

2011年(160)

2010年(26)

分类: 嵌入式

2010-09-01 22:03:12

Android中返回键的捕获
    在android应用中,通常会有按返回键(即keyCode == KeyEvent.KEYCODE_BACK)的情况,但大多情况下该应用还在任务里运行着,并不是我们想要的结果。
    但我们可以这样实现,当用户点击自定义的退出按钮或返回键时,在onDestroy()里强制退出应用,或直接杀死进程,具体操作代码如下:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
        
        //按下键盘上返回按钮

        if(keyCode == KeyEvent.KEYCODE_BACK){
 
            new AlertDialog.Builder(this)
                .setIcon(R.drawable.services)
                .setTitle(R.string.prompt)
                .setMessage(R.string.quit_desc)
                .setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                    }
                })
                .setPositiveButton(R.string.confirm, new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int whichButton) {
                        finish();
                    }
                }).show();
            
            return true;
        }else{        
            return super.onKeyDown(keyCode, event);
        }
    }
 
 
    @Override
    protected void onDestroy() {
        super.onDestroy();
        
        System.exit(0);
        //或者下面这种方式

        //android.os.Process.killProcess(android.os.Process.myPid());

    }
 


参考网址:

   

阅读(2843) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~