Android開發(fā)實現(xiàn)文件關(guān)聯(lián)方法介紹
Android開發(fā)實現(xiàn)文件關(guān)聯(lián)方法,做一個項目的時候,需要點擊文件打開我們自己的app。首先講一下點擊普通文件打開app的方法,只需要三行代碼,在app啟動活動里加一個過濾器。
<intent-filter>
<category android:name="android.intent.category.LAUNCHER">
</category></action></intent-filter>
<intent-filter>
<category android:name="android.intent.category.DEFAULT">
<data android:mimetype="*/*">
</data></category></action></intent-filter>
</activity>
*/*即所有文件的意思,但是很多時候我們并不是需要所有的文件,這個時候就要學(xué)習(xí)一樣mineType了。
一、mineType
mineType媒體類型,一般是[type]/[subtype]格式。
1.type
Text:用于標(biāo)準(zhǔn)化地表示的文本信息,文本消息可以是多種字符集和或者多種格式的;
Multipart:用于連接消息體的多個部分構(gòu)成一個消息,這些部分可以是不同類型的數(shù)據(jù);
Application:用于傳輸應(yīng)用程序數(shù)據(jù)或者二進(jìn)制數(shù)據(jù);
Message:用于包裝一個E-mail消息;
Image:用于傳輸靜態(tài)圖片數(shù)據(jù);
Audio:用于傳輸音頻或者音聲數(shù)據(jù);
Video:用于傳輸動態(tài)影像數(shù)據(jù),可以是與音頻編輯在一起的視頻數(shù)據(jù)格式。
2.subtype主要用法
text/plain(純文本)
text/html(HTML文檔)
application/xhtml+xml(XHTML文檔)
image/gif(GIF圖像)
image/jpeg(JPEG圖像)
image/png(PNG圖像)
video/mpeg(MPEG動畫)
application/octet-stream(任意的二進(jìn)制數(shù)據(jù))
application/pdf(PDF文檔)
application/msword(Microsoft Word文件)
multipart/alternative(HTML郵件的HTML形式和純文本形式,相同內(nèi)容使用不同形式表示)
application/x-www-form-urlencoded(使用HTTP的POST方法提交的表單)
multipart/form-data(同上,但主要用于表單提交時伴隨文件上傳的場合)
3.例子
text/xml
4.筆記
一些基本的文件已經(jīng)能夠關(guān)聯(lián),但是有一些自定義的文件無法關(guān)聯(lián),如.pac文件。這個時候需要學(xué)習(xí)一下第二部分自定義文件關(guān)聯(lián)。
二、data標(biāo)簽
<data android:host="string" android:mimetype="string" android:path="string" android:pathpattern="string" android:pathprefix="string" android:port="string" android:scheme="string"></data>
1.scheme
這個屬性用于設(shè)定URI的scheme部分。它是給指定URI設(shè)置的最基本的屬性,至少要給過濾器設(shè)置一個scheme屬性,否則,其他的URI屬性就沒有意義了。scheme屬性值沒有”:”符號結(jié)尾(如,file,而不是file: )
2.host
URI授權(quán)的主機部分。
3.port
定義URI授權(quán)的端口部分。
host和port的使用都依賴于scheme。
4.mintype
前面已講過。
5.path
path指定一個完整的路徑。
6.PathPrefix
PathPrefix屬性只指定了部分路徑,它會跟Intent對象中的路徑初始部分匹配。
7.pathPattern
重點來了,pathPattern屬性指定一個要跟Intent對象中的路徑進(jìn)行匹配的完整路徑,但是這個路徑中可以包含下列通配符:
7.1. 星號(*)通配符,路徑中的*星號代表任意多個星號之前的那個字符,如a*,可跟a、aa、aaa、aaaa、...字符串匹配。
7.2. 點跟星號的組合(.*)通配符,它可以跟任意字符串進(jìn)行匹配,如.*pac,可以跟abpac、cpac、pac、dssf.pac、…等字符串匹配。
三、例子
本人需要點擊的文件是一個這樣的文件:
1.文件路徑:/storage/emulated/0/Android/data/包名/files/files/Omega4040_00.00.4002_Nor.pac
2.文件名:Omega4040_00.00.4002_Nor.pac
3.代碼:
<intent-filter>
<category android:name="android.intent.category.LAUNCHER">
</category></action></intent-filter>
<intent-filter>
<category android:name="android.intent.category.DEFAULT">
<category android:name="android.intent.category.BROWSABLE">
<data android:scheme="file">
<data android:mimetype="*/*">
<data android:host="*">
<data android:pathpattern=".*pac">
</data></data></data></data></category></category></action></intent-filter>
</activity>
總結(jié)
以上就是本文關(guān)于Android開發(fā)實現(xiàn)文件關(guān)聯(lián)方法介紹的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站:Android分包MultiDex策略詳解等,有什么問題可以隨時留言,小編會及時回復(fù)大家的。
相關(guān)文章
Android自定義View實現(xiàn)圓弧進(jìn)度效果
這篇文章主要為大家詳細(xì)介紹了Android自定義View實現(xiàn)圓弧進(jìn)度效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-11-11
Jetpack Compose實現(xiàn)列表和動畫效果詳解
這篇文章主要為大家詳細(xì)講講Jetpack Compose實現(xiàn)列表和動畫效果的方法步驟,文中的代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2022-06-06
Android實現(xiàn)整理PackageManager獲取所有安裝程序信息
這篇文章主要介紹了Android實現(xiàn)整理PackageManager獲取所有安裝程序信息的方法,實例分析了Android使用PackageManager獲取安裝程序信息的具體步驟與相關(guān)技巧,需要的朋友可以參考下2016-01-01
Android實現(xiàn)頂部底部雙導(dǎo)航界面功能
這篇文章主要為大家詳細(xì)介紹了Android實現(xiàn)頂部\底部雙導(dǎo)航界面功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-09-09

