活动2中的后退按钮会关闭应用,而不会转到Android 7中的活动1

时间:2017-06-04 09:51:44

标签: android android-intent android-activity

第二个活动中的后退按钮返回到第一个活动之前没有问题。然后我更新到Android 7.
然后在按下第二个活动的后退按钮时关闭整个应用程序。

我知道这里有关于此的线索,我已经检查了所有这些。基本上,他们说第一项活动应该避免finish() 我没有打电话给finish(),所以这就是问题所在。这很难解决,因为当我从Android工作室启动应用程序时,它的工作方式就像它一样 它从第二个返回第一个活动。通过按下其图标(而非Android工作室)启动应用程序时会出现问题 从第二个活动中按回来会关闭整个应用程序。我怎么解决这个问题?以下是我的一些代码:

活动1:

Intent glIntent = new Intent("astral.worldstriall.GLActivity");
glIntent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);

3 个答案:

答案 0 :(得分:0)

下面的代码应该用在第二个活动中,这样当你按下后退按钮时它会终止当前活动(第二个活动)并返回上一个活动

@Override
public void onBackPressed() {
    super.onBackPressed();
    finish();
}

答案 1 :(得分:0)

我认为你只是误用了Intent构造函数。根据文档,您使用了此构造函数Intent(String action)。你原本想要的那个应该是这个Intent(Context packageContext, Class<?> cls)

在第一个活动中(因此this是您第一个活动的实例),您应该写:

Intent glIntent = new Intent(this, astral.worldstriall.GLActivity.class);
glIntent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(glIntent);

答案 2 :(得分:-1)

进行第一次到第二次活动......

  Intent i=new Intent(FirstActivity.this,SecondActivity.class);
            startActivity(i);

使用以下代码进入之前的活动...

  @Override
public void onBackPressed() {
    super.onBackPressed();

    Intent i=new Intent(SecondActivity.this, FirstActivity.class);
    startActivity(i);
}