Какова цель "android.намерение.категория.Дефолт"?


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

6 80

6 ответов:

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

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

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

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

ссылки:

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

извлечение с этой страницы:

Android обрабатывает все неявные намерения, переданные tostartActivity (), как если бы они содержали хотя бы одну категорию: "android.намерение.категория.По умолчанию " (константа CATEGORY_DEFAULT). Поэтому действия, которые готовы получить неявные намерения, должны включать " android.намерение.категория.По умолчанию " in их намерения фильтруются. (Фильтры с "андроид.намерение.действие.Главное " и " android.намерение.категория.Настройки запуска " являются исключением. Они отмечают действия, которые начинают новые задачи и которые представлены на экране запуска. Они могут включать в себя " android.намерение.категория.По умолчанию" в списке категорий, но не нужно.)

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

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

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

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

категория:

android.intent.category.DEFAULT

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

https://codelabs.developers.google.com/codelabs/android-training-activity-with-implicit-intent/index.html?index=..%2F..%2Fandroid-training#6