当AlertDialog.Builder处于活动状态时,通过主页按钮完成活动

时间:2015-07-01 03:17:19

标签: android android-alertdialog activity-finish

我希望我的应用在AlertDialog.Builder处于活动状态时完成当前活动,只需单击主页按钮一次。通常需要两次点击(首先点击关闭对话框,然后再关闭当前活动)。

我已尝试将finish()放入public boolean onKeyDown()方法,但我只是在第二次点击内进入(即当AlertDialog.Builder不活跃时了)。

有什么想法吗?

PS:我的AlertDialog.BuilderonCreate(方法。

2 个答案:

答案 0 :(得分:1)

如果对话框不可取消,则应在第一次按主页按钮时进入主屏幕。请参阅AlertDialog.Builder#setCancelable(boolean)

答案 1 :(得分:0)

当你在活动上按下Home Button时,它会调用OnStop()方法

所以你必须在你的活动上处理它:

  @Override
        protected void onStop() {

            super.onStop();
        }

所以在你的情况下,你可以使用它:

  @Override
        protected void onStop() {

        Intent startMain = new Intent(Intent.ACTION_MAIN);
        startMain.addCategory(Intent.CATEGORY_HOME);
        startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        startActivity(startMain);

        }

希望能帮到你;) 祝你好运