Подтвердить что ты не робот

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

Какова цель предоставления "android.intent.category.DEFAULT" в поле "Фильтры намерения"? что это значит?

4b9b3361

Ответ 1

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

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

Ответ 2

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

Я думаю, что термин "default" следует понимать как "default кандидат". Если действие на части данных разрешает несколько действий, то 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" в списке категорий, но не нужно.)

Ответ 3

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

Ответ 4

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

                                                                         

Ответ 5

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

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