Сбой тестов эспрессо после обновления до Android API 28

В своих тестах я запускаю действие, используя логику

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: для вызова startActivity() вне контекста Activity требуется флаг FLAG_ACTIVITY_NEW_TASK. Это действительно то, что вы хотите?

Я знаю, что API 28 внес изменения, чтобы обеспечить использование вышеуказанного флага, но я очень четко определяю этот флаг

1 ответ

Попробуйте следующее:

addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
Другие вопросы по тегам