兔子--Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK

时间:2023-03-09 18:33:29
兔子--Calling startActivity() from outside of an Activity  context requires the FLAG_ACTIVITY_NEW_TASK

错误原因:

Activity打开别的Activity的时候会默认把新的Activity放到自己的task中,所以不用指定,可是别的地方就得指定了。

解决的方法:intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

***********************************************下面属于了解学习******************************************************

标志位的意义:

《1》.FLAG_ACTIVITY_NEW_TASK:

假设设置了此标志。这个activity将成为一个新task(包括一系列Activity的堆栈, 遵循先进后出原则)的历史堆栈中的第一个activity。

这个task定义了一个原子组activities,用户能够对其进行移除。各种tasks能够移到前面或者后面;在一个特定的task中,全部的activities总是保持同样的顺序。

《2》.FLAG_ACTIVITY_MULTIPLE_TASK

当使用这个标志时。假设一个包括此activity的task已经执行了。新的activity不会启动。同一时候。当前的task将简单的被提到窗体最前面。

查看FLAG_ACTIVITY_MULTIPLE_TASK能够禁止这个行为。