Intent resolution неявных интентов.

Intent Resolution — механизм поиска нужного компонента для вызова по неявному интенту. Когда вы используете явный интент, вы четко прописываете какой именно компонент запустить, используя же неявный интент, вы не знаете какой именно компонент будет запущен, вы знаете только что он должен уметь делать.

Когда вы используете неявный интент, система Android сама находит соответствующий компонент для запуска. Делает она это, сравнивая содержимое интента с интент- фильтрами, объявленными в манифест-файлах других приложений на устройстве. Если интент соответствует интент-фильтру, система запускает этот компонент и доставляет ему данный интент. Если несколько интент-фильтров подходят, система отображает диалоговое окно, чтобы пользователь мог выбрать, какое приложение использовать.

Вот так это будет происходить для активити

  1. Activity A создает интент с описанием (action, category, data type и URI) и передает его в метод startActivity()
  2. Система проверяет все приложения, чтобы найти интент-фильтр, который будет подходить интенту, созданному в Activity A.
  3. Когда совпадение найдено, система стартует подходящую активити (Activity B), вызывая ее метод onCreate() и передавая ей интент, созданный в Activity A

Стоит понимать, что таким образом могут быть не только активити, а любые компоненты Андроид приложения (например сервисы)

Поделиться уроком

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *