Какова цель «android.intent.category.DEFAULT»?

Какова цель использования android.intent.category.DEFAULT в поле Категория фильтров намерений?

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

Установка категории по умолчанию не означает, что эта активность будет использоваться по умолчанию при запуске приложения. Активность просто говорит системе, что « О, я мог бы быть запущен, даже если категория Стартера Intent не установлена ни на что! »

Эта категория в основном используется для неявных намерений. Если ваша деятельность хочет начать с неявного намерения, она должна включить эту статью в свой фильтр.

Я считаю, что термин «дефолт» следует понимать как « кандидат по умолчанию». Если действие на части данных разрешается для нескольких действий, то Android представит всех кандидатов пользователю, и пользователь может выбрать свой предпочтительный вариант по умолчанию.

Справка:

http://developer.android.com/guide/components/intents-filters.html

Выдержка из этой страницы:

Android рассматривает все неявные намерения, переданные tostartActivity (), как если бы они содержали по крайней мере одну категорию: «android.intent.category.DEFAULT» (константа CATEGORY_DEFAULT). Поэтому действия, которые хотят получить неявные намерения, должны включать «android.intent.category.DEFAULT» в своих фильтрах намерений. (Фильтры с настройками «android.intent.action.MAIN» и «android.intent.category.LAUNCHER» являются исключением. Они отмечают действия, которые запускают новые задачи и которые отображаются на экране запуска. Они могут включать «android.intent .category.DEFAULT “в списке категорий, но не нужно.)

Фактически убедитесь, что ваши другие действия можно вызвать, когда приложение запущено. LAUNCHER сделает активность, которая начнет свою первую деятельность. Чтобы использовать намерения для доступа к другим видам деятельности, они должны быть перечислены как «фактические» действия, поместив DEFAULT. Это из того, что я знаю, поэтому не цитируйте меня, если это неправильно.

Действия должны поддерживать CATEGORY_DEFAULT, чтобы они могли быть найдены Context.startActivity ().

Чтобы получить неявные намерения, вы должны включить категорию CATEGORY_DEFAULT в фильтр намерений. Методы startActivity () и startActivityForResult () обрабатывают все намерения, как будто они объявили категорию CATEGORY_DEFAULT. Если мы не объявим его в нашем фильтре намерений, никакие неявные намерения не разрешат нашу деятельность.

Он используется для объявления некоторой операции как действия по умолчанию (как следует из названия). Давайте рассмотрим, что у нас есть приложение для блокнота (ссылаясь на образец блокнота android). Первая страница приложения состоит из списка всех файлов блокнота. Когда выбран один файл блокнота, можно выполнить одну из операций, например, редактировать заметку, удалить примечание и т. Д. Но я хочу сделать редактирование как действие по умолчанию, что означает, что когда я нажимаю центральную кнопку на моей клавиатуре, окно редактирования должно быть открыто.

  • Как реализовать бесконечную галерею в Android?
  • Проблемы с стопкой Android Fragment back
  • переключение назад / передняя камера на лету
  • Android onCreate или onStartCommand для запуска службы
  • Отключить прокрутку в веб-просмотре?
  • Как преобразовать данные Firebase в объект Java ...?
  • как проектировать любой размер экрана и плотность в Android (многоэкранный режим для мобильных телефонов в Android)
  • API 2.3 для Wi-Fi Wi-Fi
  • VideoView getDrawingCache возвращается черным
  • Понимание fragmentа setRetainInstance (boolean)
  • Android SHA1 освобождает хранилище ключей, не работающих с Google Maps
  • Давайте будем гением компьютера.