我有接收器,当发生某些动作时,我需要重新打开当前活动(我在HideSettingsActivity中,我想关闭该Activity并打开新的HideSettingsActivity)。为此,我只是完成当前活动并通过意图打开新活动。代码如下。
Intent reopenCurrentActivityIntent = new Intent(this, HideSettingsActivity.class);
reopenCurrentActivityIntent.putExtra(CURRENT_PASSWORD, passwordDialog.getPassword());
startActivity(reopenCurrentActivityIntent);
finish();
问题是,当接收器正在采取某些行动时,它只能在第一次工作。下一次,开启新活动无效。其他代码行,在我上面描述的那段代码之前和之后,它们工作正常。 所以问题是,为什么会这样发生?也许还有其他方法可以重新开启当前的活动?
答案 0 :(得分:0)
将标记intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT));
添加到您的意图中,例如: -
reopenCurrentActivityIntent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT));
然后,
startActivity(reopenCurrentActivityIntent);
最好使用它: -
Intent reopenCurrentActivityIntent = new Intent(HideSettingsActivity.this, HideSettingsActivity.class);