Ответ 1
Вместо того, чтобы смотреть на него с точки зрения вашего приложения, переверните его и посмотрите на него со стороны Intent.
Когда создается намерение, создатель понятия не имеет, какие приложения находятся в системе для обработки этого намерения. Но создатель действительно знает, что он хочет делать (например, приложение может захотеть, чтобы пользователь выбрал контакт где-то на устройстве), и ему необходимо обратиться к другим приложениям в системе, чтобы спросить, что вам нужно.
Чтобы сделать это, у намерений есть несколько частей информации, прикрепленных к ним. Среди них - действия и категории.
Действия определяют в общем виде действие, которое намерение намерено делать, например VIEW-контакт, PICK изображение из галереи и т.д.
Категория - это дополнительная информация, которая дает намерение другим способом дифференцировать себя. Например, при щелчке ссылки в браузере, созданное намерение имеет прикрепленную к нему категорию BROWSABLE.
Итак, когда ОС разрешает Intent, он будет искать зарегистрированные действия или BroadcastReceivers, у которых есть фильтр намерений, который включает все части информации. Если Intent указывает действие PICK, то действия, которые не имеют фильтра намерения с действием PICK, будут отброшены из списка кандидатов для обработки намерения.
Таким образом, объединенный набор действий, категорий, типов и (возможно) схем, связанных с намерением, служит для определения набора действий, которые могут обрабатывать намерение. Когда вы настраиваете свой фильтр намерений в манифесте, вы сообщаете OS, какой класс Intents вы можете обрабатывать.