您的位置:首页 > 移动开发 > Android开发

Android 彻底关闭应用程序,返回键的捕获及AlertDialog

2012-11-08 20:39 405 查看
在开发android应用时,常常通过按返回键(即keyCode ==
KeyEvent.KEYCODE_BACK)就能关闭程序,其实大多情况下该应用还在任务里运行着,其实这不是我们想要的结果。我们可以这样做,当用户点击自定义的退出按钮或返回键时(需要捕获动作),我们在onDestroy()里强制退出应用,或直接杀死进程,具体操作代码如下:

[java]
view plaincopyprint?

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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: