Запускает ли Intent другие приложения

«Запускает ли Intent другие приложения» — вопрос из категории Android компоненты, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Да, Intent может запускать другие приложения. Для этого используется явный (explicit) или неявный (implicit) Intent.

Явный Intent – указывает конкретный компонент (Activity, Service и т.д.) для запуска:

val intent = Intent(this, OtherAppActivity::class.java)  
startActivity(intent)  

Неявный Intent – описывает действие (ACTION_VIEW, ACTION_SEND и т.д.), а система подбирает подходящее приложение:

val intent = Intent(Intent.ACTION_VIEW, Uri.parse("https://google.com"))  
startActivity(intent)  

Если несколько приложений могут обработать Intent, пользователю предлагается выбор. Также можно проверить наличие обработчиков через resolveActivity().