2017-06-04 81 views
0

按第二个活动中的返回按钮返回到第一个活动,之前没有问题。然后我更新到Android 7.
然后当从第二个活动中按下按钮时,整个应用程序关闭。活动2中的后退按钮关闭应用程序,而不是进入Android 7中的活动1

我知道这里有关于这个的线程,我已经检查过它们。基本上,他们说finish()应该避免从第一个活动。
我不叫finish(),所以这是这里的问题。这很难解决,因为它在我从Android Studio启动应用程序时的工作方式应该是这样。
它从第二个返回到第一个活动。当应用程序通过按下它的图标(而不是从Android Studio)启动时会出现问题。
从第二项活动中按下关闭整个应用程序。我该如何解决这个问题?下面是我的一些代码:

活动1:

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

你的问题缺乏精度...你能分享您在'onBackPressed写的代码( )'在第二项活动? – Wang

+0

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

回答

-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); 
} 
+0

我以前想过这个,但是我不认为这是必要的,因为“后退”应该打开堆栈中的前一个活动。你确定它不会混淆堆栈以回到具有意图的第一个活动吗? –

0

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

@Override 
public void onBackPressed() { 
    super.onBackPressed(); 
    finish(); 
} 
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); 
相关问题