Описание тега android-intent
Со справочного сайта разработчиков Android:
Intent предоставляет возможность для выполнения поздней привязки времени выполнения между кодом в разных приложениях. Его наиболее значимое использование - запуск действий, где его можно рассматривать как связующее звено между действиями. По сути, это пассивная структура данных, содержащая абстрактное описание действия, которое необходимо выполнить.
Основы
Намерения широко используются в платформе Android для сообщения операционной системе о том, что необходимо выполнить определенное действие. На первый взгляд очевидное использование намерений - это запуск действий (компонентов, имеющих пользовательский интерфейс). Получив даже ограниченный опыт разработки Android, становится ясно, что он используется почти для каждого компонента платформы Android.
Службы связаны или запускаются Действиями. BroadcastReceivers прослушивает намерения, отправляемые операционной системой или другими приложениями. Даже виджеты не могут быть размещены на главном экране без намерения.
Намерение Действия
Действие - это суть Намерения. Это просто строка, которая передается в операционную систему для обозначения заданного действия. Некоторые из них являются общими и предоставляются непосредственно платформой. Другие относятся к пакетам и уникальным задачам. Это позволяет любому разработчику с минимальными усилиями создавать свои собственные намерения для публичного или частного использования.
Настраиваемое действие намерения следует за формой "top.company.package.DO_SOMETHING"
, где: top - это домен верхнего уровня, соответствующий правилам использования (com для коммерческих, org для некоммерческих организаций, edu для образовательных организаций и т. д.); компания - название компании-разработчика; пакет - это название пакета; а DO_SOMETHING - значащее имя, описывающее действие. Предоставленные Android намерения можно найти по адресу: Intent Filters
Пример: com.softwareheroes.coolui.SHOW_LOG
может показать файл журнала для приложения Cool UI, созданный вымышленным коммерческим предприятием Software Heroes.
Дополнительные возможности
Часто при запуске другого компонента приложения разработчикам необходимо передавать информацию. Модель потоковой передачи иногда может затруднить это, особенно при взаимодействии с различными типами компонентов. Дополнительные возможности Intent Extras позволяют передавать широкий спектр данных, не прибегая к сложным многопоточным или безопасным уровням доступа. Полный список типов данных, которые можно передавать и получать, находится здесь.
Ожидающие намерения
Ожидающие намерения - это намерения, которые создаются на раннем этапе для последующего запуска от имени приложения, которое его создало. Используя этот механизм, приложение может создать намерение для ответа на возможное будущее событие и даже передать это намерение внешнему приложению. Наиболее популярно их использование в уведомлениях, которые требуют, чтобы при нажатии они выполняли какое-либо действие.
Когда использовать этот тег
Поскольку намерения широко используются, трудно определить, когда может быть целесообразно использовать этот тег. В общем, если вы просто хотите знать, какое намерение запускает какое приложение или каково намерение при возникновении общего системного события, следует обратиться к справочнику или руководству. Они также ссылаются на несколько руководств. Если эти ресурсы не отвечают конкретной потребности или запросу, просто попробуйте убедиться, что проблема действительно заключается в отсутствии понимания намерений или конкретного намерения.
Плохой пример: как мне ответить на SMS-сообщение?
Это общеизвестно и содержится в объяснении намерений на сайте разработчиков Android.
Хороший пример: могу ли я безопасно передать дополнительные функции из Intent другому?