IntentFilter Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Структурированное описание совпадаемых значений намерений.
[Android.Runtime.Register("android/content/IntentFilter", DoNotGenerateAcw=true)]
public class IntentFilter : Java.Lang.Object, Android.OS.IParcelable, IDisposable, Java.Interop.IJavaPeerable
[<Android.Runtime.Register("android/content/IntentFilter", DoNotGenerateAcw=true)>]
type IntentFilter = class
inherit Object
interface IParcelable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
- Наследование
- Атрибуты
- Реализации
Комментарии
Структурированное описание значений намерений для сопоставления. IntentFilter может сопоставляться с действиями, категориями и данными (через его тип, схему и(или) путь) в намерении. Он также включает значение "приоритет", которое используется для упорядочения нескольких соответствующих фильтров.
Объекты IntentFilter часто создаются в XML как часть файла пакета android.R.styleable#AndroidManifest AndroidManifest.xml
с использованием android.R.styleable#AndroidManifestIntentFilter intent-filter
тегов.
Существует три характеристики намерения, которые можно отфильтровать: <em>action</em>, <em>data</em> и <em>categories</em>. Для каждой из этих характеристик можно указать несколько возможных соответствующих значений (с помощью #addAction
, #addDataType
, , #addDataScheme
, #addDataSchemeSpecificPart
#addDataAuthority
, #addDataPath
и #addCategory
соответственно). Если для действий не указаны характеристики данных, фильтр будет соответствовать только намерениям, которые не содержат данных.
Сама характеристика данных состоит из трех атрибутов: type, scheme, authority и path. Все указанные значения должны соответствовать содержимому намерения. Если указать схему без типа, будет соответствовать только намерение без типа (например, mailto:); содержимое. Универсальный код ресурса (URI) никогда не будет совпадать, так как у них всегда есть тип MIME, предоставляемый поставщиком содержимого. Указание типа без схемы имеет несколько особый смысл: он будет соответствовать либо намерению без поля URI, либо намерению с содержимым: или файлу: URI. Если вы не укажете ни , то будет соответствовать только намерение без данных или типа. Чтобы указать центр, необходимо также указать одну или несколько схем, с которыми он связан. Чтобы указать путь, необходимо также указать один или несколько центров управления и одну или несколько схем, с которыми он связан.
<div class="special reference"><h3>Developer Guides</h3>
Дополнительные сведения о создании и разрешении намерений см. в руководстве разработчика По намерениям и фильтрам намерений .
</Div>
<Правила< фильтрации h3>/h3>
Соответствие основано на следующих правилах. Обратите внимание, что для соответствия IntentFilter намерению должны выполняться три условия: <строгое>действие</строгое> и>< строгое значение категории</strong> должно соответствовать, а данные (как надежный тип< данных/strong>, так>< и <>надежная схема данных+власть+путь</strong>, если указано) должны соответствовать (см#match(ContentResolver, Intent, boolean, String)
. дополнительные сведения о сопоставлении полей данных).
<strong>Action</strong> соответствует, если какое-либо из заданных значений соответствует действию Намерение; если фильтр не указывает действий, он будет соответствовать только намерениям, которые не содержат действия.
<strong>Data Type</strong> соответствует, если какое-либо из заданных значений соответствует типу намерения. Тип намерения определяется путем вызова Intent#resolveType
. Для подтипа MIME можно использовать подстановочный знак как в Intent, так и в IntentFilter, чтобы тип "audio/*" соответствовал "audio/mpeg", "audio/aiff", "audio/*" и т. д. <Em>Обратите внимание, что здесь сопоставление типов MIME b учитывает <<>регистр/b>, в отличие от формальных типов MIME RFC!</em> Для типов MIME всегда следует использовать строчные буквы.
<strong>Data Scheme< или strong> соответствует, если какое-либо из заданных значений соответствует схеме данных намерения. Схема намерения определяется путем вызова Intent#getData
и android.net.Uri#getScheme
по такому универсальному коду ресурса (URI). <Em>Обратите внимание, что здесь сопоставление схем b учитывает <<>регистр/b>, в отличие от формальных схем RFC!</em> Поэтому для схем всегда следует использовать строчные буквы.
<strong>Data Scheme Specific Part</strong> соответствует, если какое-либо из заданных значений соответствует конкретной части <схемы данных намерения em>и</em> одна из схем данных в фильтре соответствует намерению, <em>или</em> , в фильтре не было предоставлено ни одной конкретной части схемы. Конкретная часть схемы намерений определяется путем вызова Intent#getData
и android.net.Uri#getSchemeSpecificPart
по такому URI. <Em>Обратите внимание, что сопоставление частей схемы зависит <от< регистра b>/b>.</Em>
<strong>Data Authority</strong> соответствует, если какое-либо из заданных значений соответствует центру <данных намерения em>и< (em> ) одна из схем данных в фильтре соответствует намерению, <em>или< (em)> в фильтре не предоставлены полномочия. Центр намерения определяется путем вызова Intent#getData
и android.net.Uri#getAuthority
по такому URI. <Em>Обратите внимание, что при сопоставлении с центром сертификации учитывается <b>регистр</b>, в отличие от формальных имен узлов RFC!</em> Вы всегда должны использовать строчные буквы для ваших полномочий.
<strong>Data Path</strong> соответствует, если какое-либо из заданных значений соответствует пути данных <намерения em>и< /em> схема и центр в фильтре совпадают с намерением, <em>или</em> пути не указаны в фильтре. Центр намерения определяется путем вызова Intent#getData
и android.net.Uri#getPath
по такому URI.
<strong>Categories</strong> match, если <em>all</em> категорий в намерениях соответствуют категориям, заданным в фильтре. Дополнительные категории в фильтре, которые отсутствуют в намерении, не приводят к сбою сопоставления. Обратите внимание, что в отличие от действия, фильтр IntentFilter без категорий будет соответствовать только намерению, не имеющим никаких категорий.
Документация по Java для android.content.IntentFilter
.
Части этой страницы являются изменениями, основанными на работе, созданной и совместно используемой проектом Android и используемой в соответствии с условиями, Creative Commons 2.5 Attribution License.
Конструкторы
IntentFilter() |
Новый пустой фильтр IntentFilter. |
IntentFilter(IntentFilter) |
Новый фильтр IntentFilter, содержащий копию существующего фильтра. |
IntentFilter(IntPtr, JniHandleOwnership) |
Конструктор, используемый при создании управляемых представлений объектов JNI; вызывается средой выполнения. |
IntentFilter(String) |
Новый фильтр IntentFilter, соответствующий одному действию без данных. |
IntentFilter(String, String) |
Новый фильтр IntentFilter, соответствующий одному действию и типу данных. |
Поля
SystemHighPriority |
Устаревшие..
Значение фильтра |
SystemLowPriority |
Устаревшие..
Значение фильтра |
Свойства
Class |
Возвращает класс среды выполнения данного объекта |
Creator |
Структурированное описание совпадаемых значений намерений. |
Handle |
Дескриптор базового экземпляра Android. (Унаследовано от Object) |
JniIdentityHashCode |
Структурированное описание совпадаемых значений намерений. (Унаследовано от Object) |
JniPeerMembers |
Структурированное описание совпадаемых значений намерений. |
PeerReference |
Структурированное описание совпадаемых значений намерений. (Унаследовано от Object) |
Priority |
Возвращает приоритет этого фильтра. -или- Измените приоритет этого фильтра. |
ThresholdClass |
Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода. |
ThresholdType |
Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода. |
Методы
ActionsIterator() |
Возвращает итератор по действиям фильтра. |
AddAction(String) |
Добавьте новое действие Намерения для сопоставления. |
AddCategory(String) |
Добавьте новую категорию Намерений для сопоставления. |
AddDataAuthority(String, String) |
Добавьте новый центр данных Intent для сопоставления. |
AddDataPath(String, Pattern) |
Добавьте новый путь к данным намерения для сопоставления. |
AddDataScheme(String) |
Добавьте новую схему данных intent для сопоставления. |
AddDataSchemeSpecificPart(String, Pattern) |
Добавьте новую "часть конкретной схемы", с данными о намерении. |
AddDataType(String) |
Добавьте новый тип данных Intent для сопоставления. |
AsPredicate() |
Возвращает объект , |
AsPredicateWithTypeResolution(ContentResolver) |
Возвращает объект , |
AuthoritiesIterator() |
Возвращает итератор по центрам данных фильтра. |
CategoriesIterator() |
Возвращает итератор по категориям фильтра. |
Clone() |
Создает и возвращает копию этого объекта. (Унаследовано от Object) |
CountActions() |
Возвращает количество действий в фильтре. |
CountCategories() |
Возвращает количество категорий в фильтре. |
CountDataAuthorities() |
Возвращает количество центров данных в фильтре. |
CountDataPaths() |
Возвращает количество путей к данным в фильтре. |
CountDataSchemes() |
Возвращает количество схем данных в фильтре. |
CountDataSchemeSpecificParts() |
Возвращает количество определенных частей схемы данных в фильтре. |
CountDataTypes() |
Возвращает количество типов данных в фильтре. |
Create(String, String) |
Создайте экземпляр IntentFilter с указанным действием и типом MIME, где известно, что тип MIME имеет правильный формат. |
DescribeContents() |
Описывать типы специальных объектов, содержащихся в маршалируемом представлении этого объекта Parcelable. |
Dispose() |
Структурированное описание совпадаемых значений намерений. (Унаследовано от Object) |
Dispose(Boolean) |
Структурированное описание совпадаемых значений намерений. (Унаследовано от Object) |
Dump(IPrinter, String) |
Структурированное описание совпадаемых значений намерений. |
Equals(Object) |
Указывает, равен ли какой-то другой объект этому объекту. (Унаследовано от Object) |
GetAction(Int32) |
Возвращает действие в фильтре. |
GetCategory(Int32) |
Возвращает категорию в фильтре. |
GetDataAuthority(Int32) |
Возвращает центр данных в фильтре. |
GetDataPath(Int32) |
Возвращает путь к данным в фильтре. |
GetDataScheme(Int32) |
Возвращает схему данных в фильтре. |
GetDataSchemeSpecificPart(Int32) |
Возвращает определенную часть схемы данных в фильтре. |
GetDataType(Int32) |
Возвращает тип данных в фильтре. |
GetHashCode() |
Возвращает значение хэш-кода для объекта. (Унаследовано от Object) |
HasAction(String) |
Включается ли данное действие в фильтр? Обратите внимание, что если фильтр не содержит никаких действий, значение false всегда будет <><возвращать em/em.> |
HasCategory(String) |
Включена ли данная категория в фильтр? |
HasDataAuthority(Uri) |
Включен ли данный центр данных в фильтр? Обратите внимание, что если фильтр не содержит ни одного центра, значение false всегда <><будет возвращать em/em.> |
HasDataPath(String) |
Включен ли указанный путь к данным в фильтр? Обратите внимание, что если фильтр не содержит пути, значение false всегда будет <><возвращать em/em>. |
HasDataScheme(String) |
Включена ли указанная схема данных в фильтр? Обратите внимание, что если фильтр не содержит ни одной схемы, значение false всегда <><будет возвращать em/em.> |
HasDataSchemeSpecificPart(String) |
Включена ли определенная часть схемы данных в фильтр? Обратите внимание, что если фильтр не содержит части, относящиеся к схеме, значение false всегда <><будет возвращать em/em.> |
HasDataType(String) |
Включен ли данный тип данных в фильтр? Обратите внимание, что если фильтр не содержит ни одного типа, значение false всегда будет <><возвращать em/em.> |
JavaFinalize() |
Вызывается сборщиком мусора для объекта , когда сборка мусора определяет, что больше нет ссылок на объект . (Унаследовано от Object) |
Match(ContentResolver, Intent, Boolean, String) |
Проверьте, соответствует ли этот фильтр заданному <>намерению< var или var>. |
Match(String, String, String, Uri, ICollection<String>, String) |
Проверьте, соответствует ли этот фильтр данным намерения. |
MatchAction(String) |
Совпадет этот фильтр с действием намерения. |
MatchCategories(ICollection<String>) |
Совпадет этот фильтр с категориями намерения. |
MatchData(String, String, Uri) |
Совпадет этот фильтр с данными намерения (типом, схемой и путем). |
MatchDataAuthority(Uri) |
Совпадет этот фильтр намерений с заданными данными намерения. |
Notify() |
Пробуждение одного потока, ожидающего на мониторе этого объекта. (Унаследовано от Object) |
NotifyAll() |
Активирует все потоки, ожидающие на мониторе этого объекта. (Унаследовано от Object) |
PathsIterator() |
Возвращает итератор по путям данных фильтра. |
ReadFromXml(XmlReader) |
Структурированное описание совпадаемых значений намерений. |
SchemesIterator() |
Возвращает итератор по схемам данных фильтра. |
SchemeSpecificPartsIterator() |
Возвращает итератор по конкретным частям схемы данных фильтра. |
SetHandle(IntPtr, JniHandleOwnership) |
Задает свойство Handle. (Унаследовано от Object) |
ToArray<T>() |
Структурированное описание совпадаемых значений намерений. (Унаследовано от Object) |
ToString() |
Возвращает строковое представление объекта. (Унаследовано от Object) |
TypesIterator() |
Возвращает итератор по типам данных фильтра. |
UnregisterFromRuntime() |
Структурированное описание совпадаемых значений намерений. (Унаследовано от Object) |
Wait() |
Заставляет текущий поток ждать, пока он не будет пробужден, как правило, из-за <уведомления/><em> или <прерывания></em>. (Унаследовано от Object) |
Wait(Int64) |
Заставляет текущий поток ждать, пока он не будет пробужден, как правило, из-за <уведомления</>em>, <>прерывания< или> em, либо до истечения определенного количества реального времени. (Унаследовано от Object) |
Wait(Int64, Int32) |
Заставляет текущий поток ждать, пока он не будет пробужден, как правило, из-за <уведомления</>em>, <>прерывания< или> em, либо до истечения определенного количества реального времени. (Унаследовано от Object) |
WriteToParcel(Parcel, ParcelableWriteFlags) |
Сведите этот объект в плоскую структуру в объект Parcel. |
WriteToXml(IXmlSerializer) |
Запишите содержимое IntentFilter в виде XML-потока. |
Явные реализации интерфейса
IJavaPeerable.Disposed() |
Структурированное описание совпадаемых значений намерений. (Унаследовано от Object) |
IJavaPeerable.DisposeUnlessReferenced() |
Структурированное описание совпадаемых значений намерений. (Унаследовано от Object) |
IJavaPeerable.Finalized() |
Структурированное описание совпадаемых значений намерений. (Унаследовано от Object) |
IJavaPeerable.JniManagedPeerState |
Структурированное описание совпадаемых значений намерений. (Унаследовано от Object) |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
Структурированное описание совпадаемых значений намерений. (Унаследовано от Object) |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Структурированное описание совпадаемых значений намерений. (Унаследовано от Object) |
IJavaPeerable.SetPeerReference(JniObjectReference) |
Структурированное описание совпадаемых значений намерений. (Унаследовано от Object) |
Методы расширения
JavaCast<TResult>(IJavaObject) |
Выполняет преобразование типа, проверенное средой выполнения Android. |
JavaCast<TResult>(IJavaObject) |
Структурированное описание совпадаемых значений намерений. |
GetJniTypeName(IJavaPeerable) |
Структурированное описание совпадаемых значений намерений. |