Работал ли с Intent

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

Ответ

Да, работал. Intent — это механизм для взаимодействия между компонентами приложения (Activity, Service, BroadcastReceiver) или между разными приложениями.

Типы Intent:

  • Явные (Explicit) — указываем конкретный компонент для запуска.
val intent = Intent(this, SecondActivity::class.java)  
startActivity(intent)  
  • Неявные (Implicit) — описываем действие, а система сама находит подходящий компонент.
val intent = Intent(Intent.ACTION_VIEW, Uri.parse("https://google.com"))  
startActivity(intent)  

Использование:

  • Запуск Activity, Service.
  • Передача данных через putExtra().
  • Обработка Broadcast-сообщений.

Нюансы:

  • Проверка наличия обработчика для неявного Intent (resolveActivity()).
  • Ограничения на неявные Intent в Android 11+ (package visibility).