一、概念
????????MINE(Multipurpose Internet Mail Extensions)最初是為了標識電子郵件附件的類型,在 HTML 中使用?content-type 屬性表示,描述了文件類型的互聯網標準。
? ? ? ? 格式:媒體類型/子類型,可使用通配符*。如 audio/mp3,image/*。
二、使用場景
2.1 Intent
對于隱式意圖,在 xml 中對 Activity 的 Intent Filter 指定,表示可以打開的資源類型,文件管理器中長按圖片選擇打開方式。
<activityandroid:name=".base.MainActivity"android:exported="true"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /><data android:mimeType="image/*"/></intent-filter>
</activity>
2.2 ContentProvider
在自定義的內容提供者中,會重寫 getType() 來返回 URI 的 MINE Type。
class MyContentProvider : ContentProvider() {override fun getType(uri: Uri): String? {val code = uriMacher.match(uri)//返回該 URI 對應數據的 MIME 類型return when(code) {MATCH_CODE_A -> “audio/mp3”MATCH_CODE_B -> "image/*"else -> null //都不匹配返回null}}
}