В своих тестах я запускаю действие, используя логику
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: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
Я знаю, что API 28 внес изменения в принудительное использование вышеуказанного флага, но я очень четко указываю этот флаг.
Вместо этого попробуйте следующее:
addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)