获取非法参数异常:启动活动时添加应用令牌堆栈 ID 无效



我正在尝试使用标志CLEAR_TASK从另一个活动打开一个活动,但有时我会遇到异常。

java.lang.IllegalArgumentException: addAppToken: invalid stackId=1

这是一个间歇性问题,并非每次都会发生。

Intent intent1 = new Intent(ActivityA.this, ActivityB.class);
intent1.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent1); 

My ActivityA 是 SingleInstance,ActivityB 是 SingleTask。

如果在传递给 Context.startActivity() 的 Intent 中设置,则此标志将导致在活动启动之前清除与活动关联的任何现有任务。也就是说,该活动将成为原本为空的任务的新根,并且所有旧活动都将完成。这只能与 FLAG_ACTIVITY_NEW_TASK 结合使用。

http://developer.android.com/reference/android/content/Intent.html

我发现了和你一样的错误,最后我知道为什么了,只是因为我同时开始了两次相同的活动。

但是有些事情困扰着我。

开发了一个启动器应用程序,此错误仅在我启动或重新启动设备时发生,在我退出应用程序后,然后重新启动它,一切运行良好,即使这个错误的代码仍然存在。

最新更新