升级到Android API 28后Espresso测试失败

时间:2019-01-16 00:34:22

标签: android android-espresso

在测试中,我使用逻辑启动了一个活动

val startIntent = Intent(Intent.ACTION_MAIN).apply {
    setClassName(InstrumentationRegistry.getTargetContext().packageName, MyActivity::class.java.name)
    flags = Intent.FLAG_ACTIVITY_NEW_TASK
}

InstrumentationRegistry.getInstrumentation().startActivitySync(startIntent)

当我定位到API 27时,它运行良好,但是现在我定位到API 28,它失败了,但出现了

  

android.util.AndroidRuntimeException:从Activity上下文外部调用startActivity()需要FLAG_ACTIVITY_NEW_TASK标志。这真的是您想要的吗?

我知道API 28使用上述标志进行了更改,以强制执行,但是我非常清楚地指定了该标志

1 个答案:

答案 0 :(得分:0)

请尝试以下操作:

addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)