Что такое неявные интенты

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

Ответ

Неявные интенты (Implicit Intents) не указывают конкретный компонент для запуска, а описывают действие, которое нужно выполнить (например, открыть ссылку или отправить письмо). Система сама определяет подходящее приложение для обработки интента на основе зарегистрированных фильтров (intent-filters).

Пример:

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

Здесь система предложит браузеры или другие приложения, способные обработать URL.

Нюансы:

  • Проверяйте наличие подходящих приложений через resolveActivity(), чтобы избежать ActivityNotFoundException.
  • Можно уточнить тип данных с помощью setType() или setDataAndType().
  • Для безопасности используйте явные интенты при работе с внутренними компонентами приложения.