共用方式為


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>。><<><> 針對每個特性,您可以分別提供多個可能的比對值(透過#addAction#addDataType#addDataScheme#addDataSchemeSpecificPart、、 #addDataAuthority#addDataPath#addCategory。 針對動作,如果未指定任何數據特性,則篩選只會比對不包含數據的意圖。

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

<div class=“special reference”><h3>Developer Guides</h3>

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

</div>

<h3>篩選規則</h3>

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

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

<如果任何指定值符合意圖類型,則強>數據類型</強> 比對。 意圖類型取決於呼叫 Intent#resolveType。 在 Intent 和 IntentFilter 中,MIME 子類型可以使用通配符,讓 “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> 篩選中其中一個數據配置符合意圖,則強>數據授權單位</強>相符,<則><篩選條件中未提供授權單位。<><> 意圖授權單位是藉由在該 URI 上呼叫 Intent#getDataandroid.net.Uri#getAuthority 來決定。 <em>請注意,此處的授權單位比對 b <>區分大小寫</b>,與正式 RFC 主機名不同!</em> 因此,您應該一律針對您的授權單位使用小寫字母。

<如果任何指定值符合意圖的數據路徑 em 和/em>,篩選條件中的配置和授權單位都符合意圖,則強>數據路徑</強>比對,<em>或</em> 未在篩選中提供路徑。<>< 意圖授權單位是藉由在該 URI 上呼叫 Intent#getDataandroid.net.Uri#getPath 來決定。

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

android.content.IntentFilterJava 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

建構函式

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 支援適用於 Android 的 Mono 基礎結構,並不適合直接從您的程式代碼使用。

ThresholdType

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

方法

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()

描述此 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 會<>傳回 always</em>。

HasCategory(String)

篩選中包含指定的類別嗎?

HasDataAuthority(Uri)

指定的數據授權單位是否包含在篩選中? 請注意,如果篩選不包含任何授權單位,false 會<>傳回 always</em>。

HasDataPath(String)

篩選中是否包含指定的數據路徑? 請注意,如果篩選不包含任何路徑,則會傳回 false 將<永遠傳回 em></em>。

HasDataScheme(String)

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

HasDataSchemeSpecificPart(String)

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

HasDataType(String)

篩選中是否包含指定的數據類型? 請注意,如果篩選不包含任何類型,false 會<傳回 always></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)

將中的這個物件扁平化為 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)

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

適用於