IntentFilter 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
要比對之意圖值的結構化描述。
[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 物件通常會使用 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#getData
和 android.net.Uri#getScheme
在該 URI 上決定。 <em > 請注意,這裡的配置比對 b > 區分 < 大小寫 < /b > ,不同于正式 RFC 配置! </em > 您應該一律針對您的配置使用小寫字母。
<如果任何指定的值符合意圖的資料配置特定部分 em 和/em > 篩選準則中其中一個資料配置,則強 > 資料配置特定部分 < /強 > 相符, < em > 或 < /em > 沒有在篩選中提供特定配置部分。 <>< 意圖配置特定部分是由呼叫 Intent#getData
和 android.net.Uri#getSchemeSpecificPart
在該 URI 上決定。 <em > 請注意,配置特定部分比對 < 是 b > 區分大小寫 < /b > 。 </Em>
<如果任何指定的值符合意圖的資料授權單位 em 和/em > 篩選準則中的其中一個資料配置,則強 > 資料授權單位 < /強 > 式相符, < em > 或 < /em > 沒有在篩選準則中提供授權單位。 <>< 意圖授權單位是由呼叫 Intent#getData
和 android.net.Uri#getAuthority
在該 URI 上決定。 <em > 請注意,這裡的授權單位比對 < b > 區分大小寫 < /b > ,不同于正式 RFC 主機名稱! </em > 因此,您應該一律為授權單位使用小寫字母。
<如果 > 任何指定的值符合意圖的資料路徑 em > 和 < /em > ,則強資料路徑 << /強 > 式符合篩選準則中的配置和授權單位,則與意圖相符, < em > 或 < /em > 未在篩選中提供路徑。 意圖授權單位是由呼叫 Intent#getData
和 android.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 |
已淘汰.
放置系統高優先順序接收者的篩選 |
SystemLowPriority |
已淘汰.
放置系統低優先順序接收者的篩選 |
屬性
Class |
傳回這個 |
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() |
傳回 , |
AsPredicateWithTypeResolution(ContentResolver) |
傳回 , |
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) |
要比對之意圖值的結構化描述。 |