Android 如何打开一个新的活动而不保持最后一个活动处于打开状态?

Android 如何打开一个新的活动而不保持最后一个活动处于打开状态?,android,Android,我在玩电子游戏。我希望应用程序有3个屏幕。演示屏幕、播放屏幕和结束屏幕 我知道一个活动可以有目的地启动,但我的问题是,这样做时,最后一个活动将被堆叠起来,允许用户返回到前一个活动(或屏幕) 有没有办法避免这种情况?在要关闭的活动中使用finish()方法。在要关闭的活动中使用finish()方法。在要关闭的活动中使用finish()方法。使用finish()方法在您要关闭的活动内。尽管其他人已经介绍了这一点,但如果您不希望用户能够返回活动,您只需调用finish()方法即可关闭活动,但我希望快速

我在玩电子游戏。我希望应用程序有3个屏幕。演示屏幕、播放屏幕和结束屏幕

我知道一个活动可以有目的地启动,但我的问题是,这样做时,最后一个活动将被堆叠起来,允许用户返回到前一个活动(或屏幕)


有没有办法避免这种情况?

在要关闭的活动中使用
finish()
方法。

在要关闭的活动中使用
finish()
方法。

在要关闭的活动中使用
finish()
方法。

使用
finish()
方法在您要关闭的活动内。

尽管其他人已经介绍了这一点,但如果您不希望用户能够返回活动,您只需调用
finish()
方法即可关闭活动,但我希望快速介绍另一个问题

或者更具体地说,告诉我们,我们不应该过多地干扰back按钮的默认行为。直接引用《指南》

一致的导航是整个用户体验的重要组成部分 经验没有什么比基本导航更让用户沮丧的了 以不一致和意外的方式行事

因此,不要阻止用户返回到输入屏幕,而是考虑一个提示,通知用户他们将离开游戏。这样,“后退”按钮将继续发挥预期的作用,您的用户不会突然退出游戏。您可以像这样覆盖后退按钮

@Override
public void onBackPressed() {
    AlertDialog.Builder alert = new AlertDialog.Builder(this);
    alert.setTitle("Leaving the Game");
    alert.setMessage("Do you want to leave the game? You might lose your progress.");
    alert.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int whichButton) {
            YourActivity.this.finish();
        }
    });
    alert.setNegativeButton("Cancel", null );
    alert.show();
}

另外,请注意,如果您选择使用
finish()
简单地关闭上一个
活动
,则后退按钮会将用户完全从应用程序中删除,因为没有
活动
可返回。

尽管其他人已经介绍过,您可以简单地调用
finish()
关闭活动的方法如果您不希望您的用户能够返回到活动中,我希望快速讨论另一个问题

或者更具体地说,告诉我们,我们不应该过多地干扰back按钮的默认行为。直接引用《指南》

一致的导航是整个用户体验的重要组成部分 经验没有什么比基本导航更让用户沮丧的了 以不一致和意外的方式行事

因此,不要阻止用户返回到输入屏幕,而是考虑一个提示,通知用户他们将离开游戏。这样,“后退”按钮将继续发挥预期的作用,您的用户不会突然退出游戏。您可以像这样覆盖后退按钮

@Override
public void onBackPressed() {
    AlertDialog.Builder alert = new AlertDialog.Builder(this);
    alert.setTitle("Leaving the Game");
    alert.setMessage("Do you want to leave the game? You might lose your progress.");
    alert.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int whichButton) {
            YourActivity.this.finish();
        }
    });
    alert.setNegativeButton("Cancel", null );
    alert.show();
}

另外,请注意,如果您选择使用
finish()
简单地关闭上一个
活动
,则后退按钮会将用户完全从应用程序中删除,因为没有
活动
可返回。

尽管其他人已经介绍过,您可以简单地调用
finish()
关闭活动的方法如果您不希望您的用户能够返回到活动中,我希望快速讨论另一个问题

或者更具体地说,告诉我们,我们不应该过多地干扰back按钮的默认行为。直接引用《指南》

一致的导航是整个用户体验的重要组成部分 经验没有什么比基本导航更让用户沮丧的了 以不一致和意外的方式行事

因此,不要阻止用户返回到输入屏幕,而是考虑一个提示,通知用户他们将离开游戏。这样,“后退”按钮将继续发挥预期的作用,您的用户不会突然退出游戏。您可以像这样覆盖后退按钮

@Override
public void onBackPressed() {
    AlertDialog.Builder alert = new AlertDialog.Builder(this);
    alert.setTitle("Leaving the Game");
    alert.setMessage("Do you want to leave the game? You might lose your progress.");
    alert.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int whichButton) {
            YourActivity.this.finish();
        }
    });
    alert.setNegativeButton("Cancel", null );
    alert.show();
}

另外,请注意,如果您选择使用
finish()
简单地关闭上一个
活动
,则后退按钮会将用户完全从应用程序中删除,因为没有
活动
可返回。

尽管其他人已经介绍过,您可以简单地调用
finish()
关闭活动的方法如果您不希望您的用户能够返回到活动中,我希望快速讨论另一个问题

或者更具体地说,告诉我们,我们不应该过多地干扰back按钮的默认行为。直接引用《指南》

一致的导航是整个用户体验的重要组成部分 经验没有什么比基本导航更让用户沮丧的了 以不一致和意外的方式行事

因此,不要阻止用户返回到输入屏幕,而是考虑一个提示,通知用户他们将离开游戏。这样,“后退”按钮将继续发挥预期的作用,您的用户不会突然退出游戏。您可以像这样覆盖后退按钮

@Override
public void onBackPressed() {
    AlertDialog.Builder alert = new AlertDialog.Builder(this);
    alert.setTitle("Leaving the Game");
    alert.setMessage("Do you want to leave the game? You might lose your progress.");
    alert.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int whichButton) {
            YourActivity.this.finish();
        }
    });
    alert.setNegativeButton("Cancel", null );
    alert.show();
}

另外,请注意,如果您选择使用
finish()
简单地关闭上一个
活动
,则后退按钮会将用户完全从应用程序中删除,因为没有
活动
可返回。

不,如果在startActivity()之后调用finish(),则不会返回。那么,当前活动将完成。真正的问题是什么可能重复?不,不会,如果在startActivity()之后调用finish()。那么,当前活动将完成。真正的问题是什么可能重复?不,不会,如果在startActivity()之后调用finish()。那么,当前活动将完成。真正的问题是什么可能重复?不,不会,如果在startActivity()之后调用finish()。然后是当前活动