Intereting Posts
Firebase перезаписывает подписи с учетной записью Google Обрезать растровое изображение без предварительного считывания всего растрового изображения Android – обнаружение Bluetooth не находит никакого устройства Ресурс для Android Slight Left / Right Действие слайд-шоу в режиме просмотра списка Добавить productFlavor в экспериментальную библиотеку плагинов Android gradle Передача файла с намерением, как его получить Кордова хочет андроида-19, у меня андроид-20 Android Book for development Android – OpenGL ES 2.0: эмулятор (работает) – устройство (не) Должен ли Java-финализатор действительно избегать также для управления жизненным циклом собственных одноранговых объектов? Универсальный загрузчик изображений с использованием 2-х дисплеев Android-словарь TreeSet ускоряет загрузку Как отображать несколько строк текста с прокруткой в ​​android? Не поддерживает ли Picasso загрузку изображений, использующих протокол https Пакет переименования Android Studio

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

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

Solutions Collecting From Web of "Какова цель "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. Это из того, что я знаю, поэтому не цитируйте меня, если это неправильно.

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

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

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