本文来自:安卓航班网

在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());

    }

原文地址:http://www.apkway.com/forum.php?mod=viewthread&tid=1840&extra=page%3D2

posted on 2011-07-18 21:20  泉と緣  阅读(290)  评论(0编辑  收藏  举报