2017-03-21 18 views
-1

如何清除登录后的剩余的backstack到不是root的活动?如何清除登录后剩余的backstack到不是root的活动?

+0

我不太明白的问题,但是从我能理解,我认为你必须了解,'Intent.FLAG_ACTIVITY_NO_HISTORY'和'Intent.FLAG_ACTIVITY_NEW_TASK'和'Intent.FLAG_ACTIVITY_CLEAR_TASK'。请参阅官方文档[这里](https://developer.android.com/reference/android/content/Intent.html) –

+0

,这将清除所有内容并使页面成为新的根目录 – user1098694

回答

0

找到了解决方案:

对于登录回到第1页

  • 添加标志Intent.FLAG_ACTIVITY_CLEAR_TOP使一切上述第1页被从背面叠堆去除
  • 那么我需要在登录时调用finish(),以便从后端堆栈中删除它

我确实有其他问题,但能解决它,我在这里添加它以防万一。

  1. 再回到家里,我添加了标志Intent.FLAG_ACTIVITY_CLEAR_TASK
  2. 再回到片段并重新打开所选择的选项卡,我使用的共享偏好来记录打开的选项卡,则在活性,其中片段是我用onResume检查保存的共享首选项来设置正确的选项卡。
  3. 为了打开一个不包含在后退堆栈中的新的意图,我打了一个额外的新意图之前应该出现的意图,我用额外的方式来打开新的意图。不知道这是否是正确的做法,但它的工作原理。