В некоторых приложениях навигация между экранами осуществляется через диплинки, а не хардкодится в приложении xml-графом или просто кодом
Теоретические описание:
открываешь ссылку — открывается страница в приложении
Практическое описание:
в манифесте описываются диплинки, которые собирается перехватывать приложение
через Intent их получает Activity и выбирает Fragment, который нужно открыть
Плюсы подхода:
• гибкость
не нужна хардкодить, какой экран открывает кнопка. можно прислать с бека диплинк, который будет открываться по нажатию кнопки
• возможность открывать сразу нужную страницу приложения из других приложений
например, отправить диплинк пользователю в смс или зашить в рекламный баннер
• можно на беке строить актуальный граф экранов
• можно передать параметры в диплинке
например, "sheme://testPage?couponCode=123"
удобно для аналитики маркетинга и передачи параметров с экрана на экран/устройства на устройство
• из коробки получаем открытие любого экрана по QR-код