Intereting Posts

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

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

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

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