所以我的问题是,我必须将哪些 mime 类型添加到 android 清单文件中的意图过滤器?
mimetype 只是描述内容的标准,是下一个处理。这在 Android 中并不是什么新鲜事,您可以查看有关媒体类型的更多信息Wiki page。 Android Documentation中关于mimetype属性的这条信息:
android:mimeType - MIME 媒体类型,例如 image/jpeg 或 audio/mpeg4-generic。子类型可以是星号通配符,表示任何子类型都匹配
但是,您可以看到 MIME 类型上的 vnd 前缀是“供应商前缀”,这意味着它不是正式的 IETF MIME 类型。因此,您需要为每个应用程序检查此类型。只是一些例子,我们在下面。
注意!为了设置默认应用程序,您需要先指定android.intent.action。因为它是进程交互之间的主要标志,所以Launcher(例如)不会有mimetype,而只有intent actions android.intent.action.MAIN、android.intent.action.SET_WALLPAPER。
相机:
<data android:mimeType="vnd.android.cursor.dir/image" />
<data android:mimeType="vnd.android.cursor.dir/video" />
图像/视频/音频:
<data android:mimeType="video/*" />
<data android:mimeType="video/mpeg4" />
<data android:mimeType="video/mp4" />
<data android:mimeType="video/3gp" />
......
<data android:mimeType="image/*" />
<data android:mimeType="application/sdp" />
......
<data android:mimeType="audio/x-mpegurl" />
<data android:mimeType="audio/mpegurl" />
<data android:mimeType="application/vnd.apple.mpegurl" />
<data android:mimeType="application/x-mpegurl" />
....
联系人:
<data android:mimeType="vnd.android.cursor.item/phone" />
<data android:mimeType="vnd.android.cursor.item/person" />
<data android:mimeType="vnd.android.cursor.dir/calls" />
浏览器:
<data android:mimeType="application/xhtml+xml"/>
<data android:mimeType="application/vnd.wap.xhtml+xml"/>
<data android:mimeType="vnd.android.cursor.item/postal-address" />
<data android:mimeType="vnd.android.cursor.dir/bookmark"/>
<data android:mimeType="vnd.android.cursor.item/download"/>