2011-03-09 65 views
1

嗨,我有一个问题,在我的应用程序 请参阅下面的代码以供参考。 我面对的问题是,当我从我的模拟器上点击返回键按钮时,我想让我的应用程序问我,你确定要退出吗?当我按是的话,它应该退出,否则它不应该。 我已经完成了所有的事情,但是当我点击返回键按钮时,它会显示一个对话框并自动退出。什么原因onKeyDown Android中的方法覆盖

代码:

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if (keyCode == KeyEvent.KEYCODE_BACK) { 

    AlertDialog.Builder alert_wifi = new AlertDialog.Builder(this); 
      alert_wifi.setMessage("This is a Wi-Fi Service. Your Device does not have an active Wi-Fi Connection. Do you Want to Activate Wi-Fi Connection") 
      .setPositiveButton("Yes", new DialogInterface.OnClickListener() { 
       public void onClick(DialogInterface dialog, int id) { 
       // Action for 'Yes' Button 

        dialog.dismiss(); 

       ViewCamera.isStop = true; 

       } 
       }) 
      .setNegativeButton("No", new DialogInterface.OnClickListener() { 
       public void onClick(DialogInterface dialog, int id) { 
       // Action for 'NO' Button 
       dialog.cancel(); 
       loading_act.finish(); 
       } 
      }); 
      AlertDialog alert = alert_wifi.create(); 
      // Title for AlertDialog 
      alert.setTitle("Caution!"); 
      alert.setIcon(R.drawable.wifi); 
      // Icon for AlertDialog 
      alert.show(); 

    } 

    return super.onKeyDown(keyCode, event); 
} 

可能是什么问题,请帮助

回答

2

尝试添加该方法

@Override 
    public void onBackPressed() { 
    ... 
    } 
+0

onBackPressed不会被我解雇。 – 2011-12-23 17:42:36

7
return super.onKeyDown(keyCode, event); 

更改它return true;

调用超级使得活动执行默认行为,因此它退出。