Навигация между Activity осуществляется с помощью Intent.
Intent — это объект обмена сообщениями, который позволяет компонентам (таким как Activity, Services, Broadcast Receivers) запрашивать действия друг у друга.
Существует два основных типа Intent:
Для запуска новой Activity с помощью явного Intent используется метод startActivity().
kotlin
Для передачи данных между Activity можно использовать метод putExtra() объекта Intent:
kotlin
Для получения результата из запущенной Activity, а не просто запуска новой, используется startActivityForResult(). После завершения дочерней Activity она может отправить результат обратно с помощью setResult() и finish(). Родительская Activity получает этот результат в методе onActivityResult().
kotlin
Начиная с AndroidX, рекомендуется использовать Activity Results API вместо startActivityForResult()/onActivityResult():
kotlin
Также для более сложной навигации в современных Android-приложениях часто используется компонента Navigation из Jetpack:
NavController для управления перемещением по графу.xml
kotlin
Navigation Component упрощает реализацию навигации, включая передачу аргументов, поддержку диалоговых окон и управление back stack.