Android通過(guò).nomedia文件禁止多媒體庫(kù)掃描指定文件夾下的多媒體文件

??Android默認(rèn)情況下會(huì)將每個(gè)多媒體文件的信息保存在一個(gè)數(shù)據(jù)庫(kù)中(在系統(tǒng)收到某些消息,比如開(kāi)機(jī)、插拔SD卡、設(shè)備連接上電腦這種涉及到可能更改文件系統(tǒng)內(nèi)容的情況下,會(huì)觸發(fā)系統(tǒng)掃描文件系統(tǒng)中的多媒體文件變化情況并同步到媒體數(shù)據(jù)庫(kù)中;或者應(yīng)用發(fā)送更新多媒體庫(kù)廣播時(shí),也會(huì)觸發(fā)多媒體數(shù)據(jù)庫(kù)的更新),應(yīng)用在需要讀取設(shè)備內(nèi)指定格式的多媒體文件信息時(shí),可以直接讀取這個(gè)數(shù)據(jù)庫(kù),相比于文件全盤(pán)檢索效率會(huì)高很多。

??但是,有時(shí)候我們并不希望某些多媒體文件被媒體庫(kù)掃描到,比如:

  • 應(yīng)用的音效不希望被音樂(lè)播放器掃描到;

  • 有些游戲的介紹視頻不希望被視頻播放器掃描到;

  • 應(yīng)用緩存的圖片不希望被相冊(cè)掃描到;

??這種情況可以在不希望被保存到多媒體數(shù)據(jù)庫(kù)中的文件夾下新建一個(gè)隱藏文件,文件名為".nomedia"即可。官網(wǎng)并沒(méi)有明確介紹.nomedia文件的使用,但可以通過(guò)搜索關(guān)鍵詞,在Storage Options的頁(yè)面中找到對(duì).nomedia文件的解釋,我的理解是有.nomedia文件的文件夾下的多媒體文件信息不會(huì)保存到多媒體數(shù)據(jù)庫(kù)中,在系統(tǒng)更新媒體數(shù)據(jù)庫(kù)時(shí)會(huì)視這個(gè)文件夾不見(jiàn):

Include an empty file named .nomedia in your external files directory (note the dot prefix in the filename). This prevents media scanner from reading your media files and providing them to other apps through the MediaStore content provider.

??對(duì)Android多媒體庫(kù)的詳細(xì)介紹網(wǎng)上資料比較少,這篇文章介紹得比較全面,值得一讀:Android掃描多媒體文件剖析

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容