活动堆栈更新后损坏?

时间:2012-05-18 16:31:21

标签: android

初始活动(A)启动活动(B)。当用户打开(B)时,按下主页,然后返回到应用程序,再次显示(B)。如果您更新应用程序(我正在通过电子邮件进行更新,因为它尚未发布)并从更新屏幕启动它,它将不再记得返回(B)。它只是重新启动活动(A)。

如果您通过按后退按钮退出应用程序,那么从那里继续正常工作。

我看到这里描述的内容:Activity history stack wrong upon first install on device?。这是一个已知的Android错误吗?我正在运行蜂窝和ICS。

1 个答案:

答案 0 :(得分:0)

这个问题的答案与此处描述的答案相同:https://stackoverflow.com/a/3890397/758074

据我所知,问题是当您从Android安装程序启动应用程序时,它会将Activity(A)的实例启动到现有的Task中。如上面的答案链接所述,描述了错误

此处:http://code.google.com/p/android/issues/detail?id=2373 在这里:http://code.google.com/p/android/issues/detail?id=26658

活动(A)onCreate()中的此代码确实解决了这个问题。

public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);

    if (!isTaskRoot()) 
    {
        Log.d("SplashActivity", "Splash is not Task Root, finish()");
        finish();
        return;
    }
}