Предположим, у вас есть два действия: A (лаунчер) и B. У действия A есть кнопка, при нажатии на которую для результата запускается действие B. Когда пользователь нажимает клавишу "Назад", в методе onActivityResult()
действия A поместите вызов метода recreate()
. Что происходит, так это то, что действие A воссоздается, возобновляется и автоматически приостанавливается (то есть метод onPause()
вызывается после onResume()
, но действие, конечно, полностью видно) . Это происходит на эмуляторе, уровень API 16,17,18,19,21,22,23. На реальном смартфоне с API 23 такого не происходит. Вы можете поставить флаг внутри onActivityResult()
и вызвать метод recreate()
из onResume()
и получить тот же результат. Это ошибка эмуляторов Android или я что-то упустил? Часть файла градиента:
compileSdkVersion 27
defaultConfig {
applicationId "com.test.test2"
minSdkVersion 16
targetSdkVersion 27
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
Обновлять
Я вижу, что кто-то еще обнаружил такое же странное поведение: вопрос о переполнении стека. Кажется, я добавил еще немного информации.