同一活动的多个实例?
问题描述:
我的应用程序有一些问题, 我有4个按钮,一个用于开始其他每个活动。 说活动被称为a,b,c,d。我希望能够在这些活动之间进行切换,而无需在堆栈中获取100d个已暂停的活动,但仍可保存后台历史记录。同一活动的多个实例?
即A-> B-> A-> C-> D-> a其中全部是活动的同一实例
所以实际上我想要的是能够重新启动非常相同的实例的活动,而不是开始一个新的。
可能吗?
答
是的,这是可能的。
mIntent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
mIntent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
将此标志添加到您的意图中,这会将您的活动放在堆栈的顶部而不是创建新的标志。
答
如果你的活动“a”是你的家,你可以添加这些标志:
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
然后,当你压回,应用程序将退出(因为你清除了所有其他活动)=>doc
不幸的是后面的历史消失了,否则它有效,但不适合这个解决方案 – We4sZ 2012-07-11 07:13:04
是的,这是正确的答案。 Not(Intent.FLAG_ACTIVITY_CLEAR_TOP)或(Intent.FLAG_ACTIVITY_SINGLE_TASK); – 2012-10-29 14:14:33