次のようになっている。
- Intent の action が 非null なのに、IntentFilter の actions に含まれていなければ NO MATCH
- データがMATCHしなければ NO MATCH。MATCHするかどうかは、
- IntentFilter の types と schemes が両方とも null のとき
- Intent の type と data の両方が null ならば MATCH、
- そうでなければ NO MATCH
- IntentFilter の schemes が 非null のとき
- schemes が Intent の scheme を含まなければ NO MATCH
- IntentFilter の mDataSchemeSpecificParts がマッチせず、
- mDataAuthorities と mDataPaths もマッチしなければ NO MATCH
- IntentFilter の schemes が null のとき
- Intent の scheme が、非null で、"" でなく、"content" でも "file" でもなければ、NO MATCH
- IntentFilter の types が 非null のとき
- Intent の type が null なら NO MATCH
- IntentFilter の types が Intent の type を含めば、MATCH
- Intent の type が "/" なら、
- IntentFilter の types が 非empty なら MATCH、empty なら NO MATCH
- IntentFilter の types が "/" を含めば MATCH
- IntentFilter の types が "hoge/*" を含んで Intent の type が "hoge/" で始まれば MATCH
- Intent の type が "hoge/*" で、IntentFilter の types が "hoge/" で始まるものを含めば MATCH
- IntentFilter の types が null のとき
- Intent の type が 非null なら NO MATCH
- 上記のいずれにも該当しなければ MATCH
- IntentFilter の types と schemes が両方とも null のとき
- カテゴリがMATCHしなければ NO MATCH。MATCHするかどうかは、
- Intent の categories が null なら、MATCH
- IntentFilter の categories が null のとき、
- Intent の categories が empty なら MATCH
- そうでなければ NO MATCH
- Intent の categories のすべてが、IntentFilter の categories に含まれれば MATCH、そうでなければ NO MATCH
- いずれにも該当しなければ、MATCH