我有接收器,正在执行某些操作时,我需要重新打开当前活动(我在HideSettingsActivity中,我想关闭该活动并打开一个新的HideSettingsActivity)。为此,我只是完成当前活动并通过意图打开新活动。下面的代码。
Intent reopenCurrentActivityIntent = new Intent(this, HideSettingsActivity.class);
reopenCurrentActivityIntent.putExtra(CURRENT_PASSWORD, passwordDialog.getPassword());
startActivity(reopenCurrentActivityIntent);
finish();
问题是,当接收者采取某种措施时,它仅在第一次工作。下次,打开新活动无效。我在上面描述的那段代码之前和之后的其他代码行都可以正常工作。
所以问题是,为什么会这样发生?也许还有其他方法可以重新打开当前活动?
最佳答案
将标志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);