1

基本上我需要的是Activity每次调用startActivity()将实例移到前面时重新创建一个,而不是破坏其他活动。

例如,如果我在活动堆栈中

A->B->C->D

并且从 DI 想要打开 B,我当前使用的标志是FLAG_ACTIVITY_REORDER_TO_FRONT使 Activity 堆栈处于这种状态:A->C->D->B. 活动堆栈中的顺序是完美的,但是,Activity没有重新创建并onNewIntent()调用该标志。

因为Activity我不想重构很多东西的复杂性,我想要的是从头开始重新创建 B(onCreate()必须调用)而不是在onNewIntent()方法中执行我的逻辑。活动堆栈应该具有​​与我使用FLAG_ACTIVITY_REORDER_TO_FRONT. 任何想法?您的帮助将不胜感激。:)

4

1 回答 1

0

如果您的所有工作都发生在 中,onCreate()并且您希望相同的东西在 中工作onNewIntent(),那么您可能会通过简单的重构而侥幸逃脱。您的所有代码都在setupActivity()调用中。

public void onCreate (Bundle savedInstanceStateF) 
{
   super.onCreate (savedInstanceStateF);
   setupActivity();
}

public void onNewIntent(Intent intentF)
{
   super.onNewIntent(intentF);
   setupActivity();
}
于 2014-10-10T14:15:01.657 回答