Android 如何使用新信息开始恢复活动?

Android 如何使用新信息开始恢复活动?,android,android-intent,android-activity,onresume,Android,Android Intent,Android Activity,Onresume,我有一个包含几个按钮的活动A。单击一个按钮开始活动B。startActivity(intent)中使用的意图包含有关应应用于活动B的布局的信息。例如,单击活动a的“宽”按钮将设置活动B中的“宽”布局 这一切在第一次运行时都很好,但是当在活动a中单击不同的按钮时,它只会再次加载相同的布局 我尝试过的是: 在活动B中,将setContentView()从onCreate移动到onResume。我想这没有任何效果,因为活动最初开始时的意图仍然是一样的 在清单文件中,将“android:noHisto

我有一个包含几个按钮的活动A。单击一个按钮开始活动B。startActivity(intent)中使用的意图包含有关应应用于活动B的布局的信息。例如,单击活动a的“宽”按钮将设置活动B中的“宽”布局

这一切在第一次运行时都很好,但是当在活动a中单击不同的按钮时,它只会再次加载相同的布局

我尝试过的是:

  • 在活动B中,将setContentView()从onCreate移动到onResume。我想这没有任何效果,因为活动最初开始时的意图仍然是一样的

  • 在清单文件中,将“android:noHistory=“true”添加到活动B中。这达到了加载正确布局的预期效果,但“破坏”了后退按钮的功能

有人有其他想法吗


-试试这个,它可能会对你有所帮助

Intent intent = new Intent(MainActivity.this, TargetActivity.class);
intent.setAction(Intent.ACTION_VIEW);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
MainActivity.startActivity(intent);

不要把“安卓”放在主题中。你有这个标签。你的接受率也不是很吸引人……谢谢你。我最后只使用了intent.setFlags(intent.FLAG\u ACTIVITY\u NEW\u TASK);在清单中我放了安卓:launchMode=“singleTop”(对于活动A和B)。然后它开始按预期工作。