Ответ 1
Как я понимаю, категории являются публичными директивами операционной системы Android (и других приложений), которые представляют разные категории, в которых должно быть ваше приложение.
Пример
- Когда значок запуска отображается на главном экране, домашнее приложение просматривает каждый установленный манифест приложения для категории
HOME
, и если это так, он отображает его в приложении.
Однако там больше. Вы можете указать категории в манифесте приложений, которые позволяют системе знать, что приложение может обрабатывать категорию намерений. Например, добавив категорию ALTERNATIVE
, другие приложения в системе знают, что ваше приложение может обрабатывать эту категорию, не зная имя действия! В следующем примере пользовательские категории намерений передаются через это намерение, которое фильтруется и соответствующий объект редактируется (взято из приложения примера Notes):
<intent-filter android:label="@string/resolve_title">
<action android:name="com.android.notepad.action.EDIT_TITLE" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.ALTERNATIVE" />
<category android:name="android.intent.category.SELECTED_ALTERNATIVE" />
<data android:mimeType="vnd.android.cursor.item/vnd.google.note" />
</intent-filter>
Зарегистрировав этот фильтр намерения в теге <activity />
, вы можете отредактировать "примечание". Данные намерения будут содержать примечание, и намерение будет перенаправлено на активность, в которую зарегистрирован этот фильтр.
В заключение:
На самом деле нет причины использовать пользовательскую категорию. Они предназначены для Android и, следовательно, не имеют смысла в использовании приложений. Но, если вы решите их использовать, их можно использовать в методах, описанных выше. "Они предоставляют некоторые специальные семантические правила, и если эти правила вам полезны, тогда вы можете их использовать" (Hackbod).