按下后退按钮时避免警报对话框关闭?

时间:2015-09-08 07:48:55

标签: android broadcastreceiver android-alertdialog back

首先我要说的是,这是通过查看教程来完成的。这是我从广播接收器呼叫的自定义警报对话活动部分。唯一的问题是后退按钮单击。一旦Alert对话框活动开始,当我按下后退按钮时它就会关闭。

 public class AlertDialogActivity extends Activity {
    @Override 
 protected void onCreate(Bundle savedInstanceState) 
 { 
    super.onCreate(savedInstanceState);
    this.setFinishOnTouchOutside(false);
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE);
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL);
    setContentView(R.layout.activity_inmsgdialog);
 }
  @Override
public void onBackPressed()
{
    super.onBackPressed();
    Toast.makeText(getApplicationContext(), "Back Pressed", Toast.LENGTH_SHORT).show();
}
}

我已经尝试onBackPressed,我可以看到吐司留言,但活动正在关闭。

3 个答案:

答案 0 :(得分:5)

见这里:

 @Override 
public void onBackPressed() 
{ 
    super.onBackPressed(); //Remove this line 
    Toast.makeText(getApplicationContext(), "Back Pressed", Toast.LENGTH_SHORT).show();
} 

如果要禁用活动的后退按钮,请不要调用super.onBackPressed();代码。所以删除这一行。希望它有所帮助。

答案 1 :(得分:1)

您可以使用以下选项来处理后退按钮

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {

    if (keyCode == KeyEvent.KEYCODE_BACK) {

       //your code
        return true;
    } else {

    }
}

答案 2 :(得分:0)

不要传播这个事件,你应该做得很好。

market://dev?id=5700313618786177705