我需要你的帮助,我有2个活动A和B,其中A是主要活动。
现在B使用startActivityForResult()
从A开始活动,当我完成它时从B开始活动将返回活动A.
这样可以正常工作,但实际目的就像Gmail应用程序,当你从B回到A然后再从A开始活动B,然后A需要在我离开时用其最后一个屏幕开始活动。
例如:来自inbox-> label->草稿在gmail中如何实现此目的以保持数据/布局不变。
答案 0 :(得分:1)
活动A和B上的 android:launchMode="singleInstance"
可能会完成吗?
答案 1 :(得分:0)
<强> How to switch Activity from 2 activities without losing its data and current state of data
强>
好的我有解决方案,当每次启动你的应用程序时,只创建活动时间并查看并放入堆栈,这样下次再次启动此活动时只需从后台打开,这样活动就可以在堆栈中使用使用开始活动带到前面
从A开始ActivityB
Intent intent = new Intent(context,ActivityB.class);
intent.addFlags(Intent.FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY);
intent.addFlags(Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT);
intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(intent);
现在从ActivityB
启动ActivityAIntent intent = new Intent(getInstance(), ActivityA.class);
intent.addFlags(Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT);
intent.addFlags(Intent.FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY);
intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(intent);
它只是在活动开始时带来前面并将当前活动置于背景中