获取非法参数异常:addAppToken启动活动时无效的stackId

时间:2016-03-02 06:42:36

标签: java android stack illegalargumentexception

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

  

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

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

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

startActivity(intent1); 

我的ActivityA是SingleInstance,ActivityB是SingleTask。

2 个答案:

答案 0 :(得分:0)

  

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

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

答案 1 :(得分:0)

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

但有些事困扰我。

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