其他分享
首页 > 其他分享> > android – 无法在一个intent中同时设置FLAG_ACTIVITY_SINGLE_TOP和FLAG_ACTIVITY_CLEAR_TOP?

android – 无法在一个intent中同时设置FLAG_ACTIVITY_SINGLE_TOP和FLAG_ACTIVITY_CLEAR_TOP?

作者:互联网

我正在使用标志FLAG_ACTIVITY_SINGLE_TOP和FLAG_ACTIVITY_CLEAR_TOP返回到我之前的“标准”活动.我使用FLAG_ACTIVITY_SINGLE_TOP来防止重新创建新实例.但我发现标志FLAG_ACTIVITY_SINGLE_TOP被忽略,活动结束并重新创建.

>这是我在docs中找到的内容. FLAG_ACTIVITY_CLEAR_TOP:它表示您可以在使用FLAG_ACTIVITY_CLEAR_TOP时添加FLAG_ACTIVITY_SINGLE_TOP以防止“完成 – 重新创建”.
>这是另一个文件. FLAG_ACTIVITY_CLEAR_TOP

Note: If the launch mode of the designated activity is “standard”, it too is removed from the stack and a new instance is launched in its place to handle the incoming intent. That’s because a new instance is always created for a new intent when the launch mode is “standard”.

我误解了第一份文件吗?

最佳答案:

文档表明您需要设置FLAG_ACTIVITY_CLEAR_TOP.但实际上你必须设置两者以防止再次创建活动.

这在我的案例中起了作用:(主要是我想要返回的活动)

  Intent tabIntent = new Intent(this, Main.class);
  tabIntent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_CLEAR_TOP);
  startActivity(tabIntent);

标签:android,android-intent,activity-stack
来源: https://codeday.me/bug/20190515/1109268.html