Found in android documentation:
Data Type matches if any of the given values match the Intent type. The Intent type is determined by calling resolveType(ContentResolver). A wildcard can be used for the MIME sub-type, in both the Intent and IntentFilter, so that the type "audio/*" will match "audio/mpeg", "audio/aiff", "audio/*", etc. Note that MIME type matching here is case sensitive, unlike formal RFC MIME types! You should thus always use lower case letters for your MIME types.
It appears that we should not trust the mimetypes returned by the android devices, instead converting them to lowercase. We will make this change in CC.
FWIW: android it totally wrong in this. mimetypes are defined in the various specs as being case-insensitive.