Вопросы относительно практического и расширенного использования Intents, Intent Extras и Pending Intents для запуска Действия, Сервиса или для ответа на событие или уведомление системы или приложения через BroadcastReceiver. (см. информацию для базового знакомства)

Со справочного сайта для разработчиков Android:

Intent предоставляет возможность для позднего связывания во время выполнения между кодом в разных приложениях. Его наиболее важное применение - запуск мероприятий, которые можно рассматривать как связующее звено между действиями. По сути, это пассивная структура данных, содержащая абстрактное описание выполняемого действия.

Основы

Интенты широко используются на платформе Android, чтобы сообщить операционной системе, что необходимо выполнить определенное действие. На первый взгляд очевидным использованием Intents является запуск операций (компонентов, имеющих пользовательский интерфейс). Получив даже ограниченный опыт разработки под Android, становится ясно, что он используется практически для каждого компонента на платформе Android.

Услуги связаны или начаты действиями. BroadcastReceivers прослушивает Интенты, которые отправляются операционной системой или другими приложениями. Даже виджеты не могут быть размещены на главном экране без намерения.

Намеренные действия

Действие является основой намерения. Это просто строка, которая передается операционной системе для обозначения заданного действия. Некоторые из них являются общими и предоставляются непосредственно платформой. Другие специфичны для пакетов и уникальных задач. Это позволяет любому разработчику создавать свои собственные интенции без особых усилий для общего или частного использования.

Custom Intent Action имеет вид "top.company.package.DO_SOMETHING", где: top - домен верхнего уровня, следующий за соглашениями об использовании (com для коммерческих, org для некоммерческих организаций, edu для образовательных организаций и т. Д.); компания - это название компании-разработчика; пакет - название пакета; а DO_SOMETHING - значимое имя, описывающее действие. Содержимое, предоставляемое Android, можно найти по адресу: Фильтры намерений

Пример: com.softwareheroes.coolui.SHOW_LOG может отображать файл журнала для приложения Cool UI, созданного вымышленным коммерческим предприятием Software Heroes.

Intent Extras

Часто при запуске другого компонента приложения разработчикам необходимо передавать информацию. Модель потоков может иногда усложнять это, особенно при взаимодействии с различными типами компонентов. Intent Extras позволяют передавать широкий спектр данных, не прибегая к сложным потокам или уровням безопасности. Полный список типов данных, которые могут быть переданы и получены, находится здесь.

В ожидании

Ожидающие намерения - это намерения, которые создаются рано, чтобы потом запускаться от имени приложения, которое его создало. Используя этот механизм, приложение может создать Намерение, чтобы ответить на возможное будущее событие и даже передать это Намерение внешнему приложению. Наиболее популярное использование их в уведомлениях, которые требуют, чтобы при нажатии они выполняли какое-то действие.

Когда использовать этот тег

Поскольку намерения так широко используются, трудно определить, когда может быть целесообразно использовать этот тег. В общем, если вы просто хотите узнать, какое намерение запускает какое приложение или какое намерение происходит, когда происходит общее системное событие, следует обратиться к ссылкаили руководство. Они также ссылаются на несколько учебных пособий. Если эти ресурсы не удовлетворяют конкретной потребности или запросу, просто попробуйте и убедитесь, что проблема действительно заключается в отсутствии понимания в отношении намерений или конкретного намерения.

Плохой пример: как мне ответить на SMS-сообщение?

Это общеизвестно и изложено в объяснении Intentsна сайте разработчика Android.

Хороший пример: могу ли я передать дополнительные данные из Intent другому безопасно?