单击后退按钮后退出应用程序

Exit the app after clicking the back button

我有一个包含三个页面的简单游戏:start_pageplay_pagelose_page。在 lose_page 中我添加了 home_button,它将带您到 start_page 再次玩。

我想要的是当我按下 start_page 中的 phone 的后退按钮时让我退出游戏,但问题是后退按钮将我带到上一页这是 lose_page

这是 lose_pagehome_button 的代码,可将您带到 start_page:

    Button home_btn = (Button)findViewById(R.id.btnPlayAgain);
    home_btn.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            Intent i = new Intent(LostActivity.this,
                    HomeActivity.class);                        
            startActivity(i);

        }
    }); 

任何帮助将不胜感激。

尝试将 finish() 方法添加到您的代码中,

  Button home_btn = (Button)findViewById(R.id.btnPlayAgain);
    home_btn.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            Intent i = new Intent(LostActivity.this,
                    HomeActivity.class);                        
            startActivity(i);
            //call the finish method
            finish();

        }
    }); 

当在 activity 上调用 finish() 时,会执行 onDestroy() 方法并将销毁您的 LostActivity,这将阻止从 HomeActivity 返回到 LostActivity。

您的 onClick() 中的 finish() 方法可以完成这项工作,但我认为您的情况有更好的方法。

如果您从 play_page 开始 lost_page,我认为是这种情况,在您开始 Activity(LostActivityIntent) 之后;只需调用 finish(),它将完成您的 play_page 并打开 lost_page。

在那之后 lost_page 你的 home_btn onClick() 回调(侦听器)所在的地方,只调用 finish() 没有别的,不要用你的 [=26= 开始新的 Intent ] 因为它已经创建。

最后,当您在主屏幕中按下后退按钮时,它将退出整个应用程序。非常简单和干净的解决方案。

你应该使用 Android Activity 堆栈的东西来照顾屏幕,不要那样启动意图。