Ответ
onActivityResult — устаревший метод для получения результатов из активити. Вместо него рекомендуется использовать Activity Result API (через ActivityResultLauncher), который проще и поддерживает lifecycle.
Пример старого подхода:
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
if (requestCode == REQUEST_CODE && resultCode == RESULT_OK) {
// Обработка результата
}
}
Новый подход (предпочтительный):
val launcher = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result ->
if (result.resultCode == RESULT_OK) {
// Обработка результата
}
}
launcher.launch(Intent(this, SomeActivity::class.java))
Основные преимущества нового API: type-safe, нет ручных requestCode, автоматическая отмена при уничтожении активити.