小编poi*_*poi的帖子

FLAG_ACTIVITY_REORDER_TO_TOP导致RuntimeException或黑屏旋转

我有两个活动,我想在它们之间切换而不重新创建或复制它们.每个活动都有一个按钮,该按钮将使用FLAG_ACTIVITY_REORDER_TO_TOP的意图将用户发送给另一个.

除以下条件外,此方法效果很好:

  1. 关闭力量后启动应用程序新鲜
  2. 点击按钮进入活动2
  3. 点击按钮返回活动1
  4. 旋转屏幕.

此时,应用程序崩溃,"执行停止未恢复的活动".棒棒糖只是显示黑屏.

奇怪的是,如果你在第4步之前进入主屏幕并恢复应用程序,然后旋转上述条件没有任何问题,应用程序正常工作,直到它关闭/重新启动.

这种情况似乎特定于FLAG_ACTIVITY_REORDER_TO_TOP,并且发生在Android 5.0和4.4上,并且只是重新开始.

我对清单中的活动没有任何属性.布局只有一个按钮,调用如下所示的方法:

MainActivity:
public void goSecond(View v) {
        Intent i = new Intent(this, SecondActivity.class);
        i.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
        startActivity(i);
}

SecondActivity:
    public void goFirst(View v) {
        Intent i = new Intent(this, MainActivity.class);
        i.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
        startActivity(i);
    }
Run Code Online (Sandbox Code Playgroud)

我没有覆盖任何其他生命周期方法或做任何其他事情.

有任何想法吗?

android android-intent android-activity

6
推荐指数
1
解决办法
478
查看次数

标签 统计

android ×1

android-activity ×1

android-intent ×1