Share via


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 可以透過意圖中的動作、配置和/或路徑) ,比對動作、類別和資料 (。 它也包含用來排序多個相符篩選準則的「優先順序」值。

IntentFilter 物件通常會使用 android.R.styleable#AndroidManifestIntentFilter intent-filter 標記,在 XML 中建立為封裝檔案 android.R.styleable#AndroidManifest AndroidManifest.xml 的一部分。

您可以篩選三個意圖特性:em action/em > 、 < em > data < /em > 和 < em > categories < /em > 。 <>< 針對每個特性,您可以分別透過 、、、 #addDataScheme 、、 #addDataSchemeSpecificPart#addDataAuthority#addDataPath#addCategory) ,提供多個可能的比對值 #addAction#addDataType (。 針對動作,如果未指定任何資料特性,則篩選準則只會比對不包含資料的意圖。

資料特性本身分成三個屬性:類型、配置、授權單位和路徑。 任何指定的都必須符合意圖的內容。 如果您指定配置但沒有類型,則只有沒有類型 (的意圖,例如 mailto:) 將會相符;內容:URI 永遠不會相符,因為它們一律有其內容提供者所提供的 MIME 類型。 指定沒有配置的類型有一些特殊意義:它會比對沒有 URI 欄位的意圖,或內容為:或檔案:URI 的意圖。 如果您未指定,則只有沒有資料或類型的意圖會相符。 若要指定授權單位,您也必須指定與其相關聯的一或多個配置。 若要指定路徑,您也必須同時指定一或多個授權單位及其相關聯的一或多個配置。

<div class=「special reference」 >< h3 > Developer Guides < /h3>

如需如何建立和解析意圖的資訊,請參閱 意圖和意圖篩選 開發人員指南。

</Div>

<h3 > 篩選規則 < /h3>

相符專案是以下列規則為基礎。 請注意,若要讓 IntentFilter 符合意圖,必須保留三個條件: < 強式動作 < /強 > 式和 <> 強式類別 < / > 強式必須相符,而且資料 (>< 強資料類型/強 > 式和 < 強 > 式資料配置+授權單位+路徑 < /強 > 式 < ,如果指定) 必須符合 (,請參閱 #match(ContentResolver, Intent, boolean, String) 資料欄位如何比對 >) 的詳細資料。

<如果任何指定的值符合意圖動作,則強 > 動作 < /強 > 式相符;如果篩選未指定任何動作,則只會比對不包含動作的意圖。

<如果任何指定的值符合意圖類型,強 > 資料類型 < /強 > 式相符。 意圖類型是由呼叫 Intent#resolveType 來決定。 萬用字元可用於 MIME 子類型,同時在 Intent 和 IntentFilter 中,讓類型 「audio/*」 符合 「audio/mpeg」、「audio/aiff」、「audio/*」 等。 <em > 請注意,這裡的 MIME 類型比對 b > 區分 < 大小寫 < /b > ,與正式 RFC MIME 類型不同! </em > 因此,您應該一律針對 MIME 類型使用小寫字母。

<如果任何指定的值符合意圖資料的配置,則強 > 式資料配置 < /強 > 式相符。 意圖配置是由呼叫 Intent#getDataandroid.net.Uri#getScheme 在該 URI 上決定。 <em > 請注意,這裡的配置比對 b > 區分 < 大小寫 < /b > ,不同于正式 RFC 配置! </em > 您應該一律針對您的配置使用小寫字母。

<如果任何指定的值符合意圖的資料配置特定部分 em 和/em > 篩選準則中其中一個資料配置,則強 > 資料配置特定部分 < /強 > 相符, < em > 或 < /em > 沒有在篩選中提供特定配置部分。 <>< 意圖配置特定部分是由呼叫 Intent#getDataandroid.net.Uri#getSchemeSpecificPart 在該 URI 上決定。 <em > 請注意,配置特定部分比對 < 是 b > 區分大小寫 < /b > 。 </Em>

<如果任何指定的值符合意圖的資料授權單位 em 和/em > 篩選準則中的其中一個資料配置,則強 > 資料授權單位 < /強 > 式相符, < em > 或 < /em > 沒有在篩選準則中提供授權單位。 <>< 意圖授權單位是由呼叫 Intent#getDataandroid.net.Uri#getAuthority 在該 URI 上決定。 <em > 請注意,這裡的授權單位比對 < b > 區分大小寫 < /b > ,不同于正式 RFC 主機名稱! </em > 因此,您應該一律為授權單位使用小寫字母。

<如果 > 任何指定的值符合意圖的資料路徑 em > 和 < /em > ,則強資料路徑 << /強 > 式符合篩選準則中的配置和授權單位,則與意圖相符, < em > 或 < /em > 未在篩選中提供路徑。 意圖授權單位是由呼叫 Intent#getDataandroid.net.Uri#getPath 在該 URI 上決定。

<>如果 < em > 在篩選中指定的意圖比對類別中所有 < /em > 類別中,強類別 < /強 > 比對。 不在意圖中的篩選中,額外的類別不會造成相符專案失敗。 請注意,不同于動作,沒有類別的 IntentFilter 只會比對沒有任何類別的意圖。

android.content.IntentFilter JAVA 檔。

此頁面的部分是根據 原始碼專案所建立和共用的工作進行修改,並根據中所述的詞彙使用。

建構函式

IntentFilter()

新的空白 IntentFilter。

IntentFilter(IntentFilter)

包含現有篩選準則複本的新 IntentFilter。

IntentFilter(IntPtr, JniHandleOwnership)

建立 JNI 物件的 Managed 標記法時所使用的建構函式;由執行時間呼叫。

IntentFilter(String)

符合沒有資料之單一動作的新 IntentFilter。

IntentFilter(String, String)

符合單一動作和資料類型的新 IntentFilter。

欄位

SystemHighPriority
已淘汰.

放置系統高優先順序接收者的篩選 #setPriority 值;也就是說,應該在應用程式程式碼之前執行的接收者。

SystemLowPriority
已淘汰.

放置系統低優先順序接收者的篩選 #setPriority 值;也就是說,應該在應用程式程式碼之後執行的接收者。

屬性

Class

傳回這個 Object 的執行時間類別。

(繼承來源 Object)
Creator

要比對之意圖值的結構化描述。

Handle

基礎 Android 實例的控制碼。

(繼承來源 Object)
JniIdentityHashCode

要比對之意圖值的結構化描述。

(繼承來源 Object)
JniPeerMembers

要比對之意圖值的結構化描述。

PeerReference

要比對之意圖值的結構化描述。

(繼承來源 Object)
Priority

傳回此篩選的優先順序。 -或- 修改此篩選的優先順序。

ThresholdClass

此 API 支援 Mono for Android 基礎結構,並不適合直接從您的程式碼使用。

ThresholdType

此 API 支援 Mono for Android 基礎結構,並不適合直接從您的程式碼使用。

方法

ActionsIterator()

傳回篩選動作的反覆運算器。

AddAction(String)

新增要比對的新意圖動作。

AddCategory(String)

新增要比對的新意圖類別。

AddDataAuthority(String, String)

新增要比對的新意圖資料授權單位。

AddDataPath(String, Pattern)

新增要比對的新意圖資料路徑。

AddDataScheme(String)

新增要比對的新意圖資料配置。

AddDataSchemeSpecificPart(String, Pattern)

新增意圖資料「配置特定部分」,以符合。

AddDataType(String)

新增要比對的新 Intent 資料類型。

AsPredicate()

傳回 , Predicate 測試此篩選準則是否符合指定的 < var > 意圖 < /var > 。

AsPredicateWithTypeResolution(ContentResolver)

傳回 , Predicate 測試此篩選準則是否符合指定的 < var > 意圖 < /var > 。

AuthoritiesIterator()

傳回篩選資料授權單位的反覆運算器。

CategoriesIterator()

傳回篩選類別的反覆運算器。

Clone()

建立並傳回這個 物件的複本。

(繼承來源 Object)
CountActions()

傳回篩選準則中的動作數目。

CountCategories()

傳回篩選準則中的類別數目。

CountDataAuthorities()

傳回篩選中的資料授權單位數目。

CountDataPaths()

傳回篩選中的資料路徑數目。

CountDataSchemes()

傳回篩選中的資料配置數目。

CountDataSchemeSpecificParts()

傳回篩選中資料配置特定部分的數目。

CountDataTypes()

傳回篩選準則中的資料類型數目。

Create(String, String)

使用指定的動作和 MIME 類型建立新的 IntentFilter 實例,其中您知道 MIME 類型的格式正確。

DescribeContents()

描述這個可封送處理標記法中包含的特殊物件種類。

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 > 。

HasDataPath(String)

指定的資料路徑是否包含在篩選中? 請注意,如果篩選不包含任何路徑,false 會 < 一律 < 傳回 em > /em > 。

HasDataScheme(String)

指定的資料配置是否包含在篩選中? 請注意,如果篩選不包含任何配置,false 將會 < 傳回 em > always < /em > 。

HasDataSchemeSpecificPart(String)

指定的資料配置特定部分是否包含在篩選中? 請注意,如果篩選不包含任何配置特定部分,false 將會 < 傳回 always >< /em > 。

HasDataType(String)

指定的資料類型是否包含在篩選中? 請注意,如果篩選不包含任何類型,則會傳回 false 一律 < 傳回 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 > notified < /em > 或 < em > interrupted < /em > 來喚醒。

(繼承來源 Object)
Wait(Int64)

讓目前的執行緒等到喚醒為止,通常是 < 透過 em > notified < /em 或 em > interrupted < /em >> ,或 < 直到經過一定數量的即時為止。

(繼承來源 Object)
Wait(Int64, Int32)

讓目前的執行緒等到喚醒為止,通常是 < 透過 em > notified < /em 或 em > interrupted < /em >> ,或 < 直到經過一定數量的即時為止。

(繼承來源 Object)
WriteToParcel(Parcel, ParcelableWriteFlags)

將這個 物件壓平合併至一個檔案。

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)

要比對之意圖值的結構化描述。

適用於