Android編程實(shí)現(xiàn)識(shí)別與掛載U盤(pán)的方法
本文實(shí)例講述了Android編程實(shí)現(xiàn)識(shí)別與掛載U盤(pán)的方法。分享給大家供大家參考,具體如下:
關(guān)于U盤(pán)的掛載可以先看一下這篇文章《Android2.3實(shí)現(xiàn)SD卡與U盤(pán)自動(dòng)掛載的方法》,作者是將U盤(pán)直接掛載在SD卡下。我的機(jī)器是MTK6575的平臺(tái),支持sdcard和sdcard2,親測(cè)將U盤(pán)掛載到sdcard2下可以實(shí)現(xiàn)U盤(pán)識(shí)別,但這只是一個(gè)臨時(shí)解決辦法,因?yàn)樵谕瑫r(shí)插sdcard2和usb的情況下可能會(huì)有沖突,比如兩個(gè)設(shè)備相同目錄下存在同名文件的情況下只能識(shí)別一個(gè)。
要實(shí)現(xiàn)真正的U盤(pán)掛載需要修改幾個(gè)文件:
一、修改vold.fstab
添加一條dev_mount udisk /mnt/udisk auto /devices/platform/mt_usb/usb1
二、修改init.rc
1、在
# create mountpoints
下添加一條
mkdir /mnt/udisk 0076 system system
2、在
# Backwards Compat
下添加一條
symlink /mnt/udisk /udisk
三、修改storage_list.xml,此文件在frameworks/base/services/java/com/android/server/MountService.java的readStorageList方法里調(diào)用到。
private void readStorageList(Resources resources) { mVolumes.clear(); mVolumeMap.clear(); int id = com.android.internal.R.xml.storage_list; XmlResourceParser parser = resources.getXml(id); AttributeSet attrs = Xml.asAttributeSet(parser); //在這里會(huì)解析storage_list.xml,并將外置存儲(chǔ)間設(shè)備的路徑(如"mnt/sdcard")通過(guò)廣播的方式發(fā)給上層,上層收到廣播后就會(huì)根據(jù)路徑去掃描設(shè)備。 。。。 }
系統(tǒng)自帶的storage_list.xml在frameworks/base/core/res/res/xml目錄下,內(nèi)容如下
<StorageList xmlns:android="http://schemas.android.com/apk/res/android"> <!-- removable is not set in nosdcard product --> <storage android:mountPoint="/mnt/sdcard" android:storageDescription="@string/storage_sd_card" android:removable="true" android:primary="true" /> </StorageList>
第一次我在這個(gè)文件里加了一條
<storage android:mountPoint="/mnt/udisk" android:storageDescription="@string/storage_sd_card" android:removable="true" android:primary="false" />
重新編譯后測(cè)試無(wú)效,因?yàn)橛玫氖荕TK的平臺(tái)代碼所以storage_list.xml有可能被MTK的代碼覆蓋了,于是在源碼下搜索storage_list.xml,果然在以下目錄中找到了。
./mediatek/custom/{project name}/resource_overlay/generic/frameworks/base/core/res/res/xml/storage_list.xml
./mediatek/custom/{project name}/resource_overlay/generic_emmc/frameworks/base/core/res/res/xml/storage_list.xml
./mediatek/custom/{project name}/resource_overlay/generic_nand/frameworks/base/core/res/res/xml/storage_list.xml
為了保險(xiǎn)起見(jiàn)我在這三個(gè)文件里都加上了下面一句代碼
<storage android:mountPoint="/mnt/udisk" android:storageDescription="@string/storage_usb" android:removable="true" android:primary="false" />
重新new以后測(cè)試可以識(shí)別U盤(pán)了,不同的平臺(tái)修改方式會(huì)存在一些差異,這里的方法僅供參考。
更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《Android開(kāi)發(fā)入門(mén)與進(jìn)階教程》、《Android資源操作技巧匯總》、《Android視圖View技巧總結(jié)》及《Android控件用法總結(jié)》
希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。
- Linux系統(tǒng)下如何掛載FAT32的U盤(pán)
- Linux下掛載硬盤(pán)分區(qū)的幾種方法
- Ubuntu設(shè)置開(kāi)機(jī)自動(dòng)掛載所有格式硬盤(pán)分區(qū)
- linux掛載新硬盤(pán)過(guò)程分享
- 實(shí)現(xiàn)批量linux格式化硬盤(pán)和掛載硬盤(pán)腳本分享
- 阿里云云服務(wù)器Linux系統(tǒng)掛載數(shù)據(jù)盤(pán)圖文教程
- Android2.3實(shí)現(xiàn)SD卡與U盤(pán)自動(dòng)掛載的方法
- linux通過(guò)掛載系統(tǒng)光盤(pán)搭建本地yum倉(cāng)庫(kù)的方法
- Linux mount掛載和卸載硬盤(pán)腳本分享
- 阿里云CentOS 7系統(tǒng)掛載SSD云盤(pán)的教程
相關(guān)文章
android開(kāi)發(fā) eclipse alt+”/”自動(dòng)提示失效的解決方法
最近在學(xué)習(xí)android開(kāi)發(fā)布局這塊。第一次學(xué)習(xí),很多代碼不熟悉。所以自動(dòng)提示對(duì)我來(lái)說(shuō)很重要。但悲催的就是這個(gè)自動(dòng)提示失效。今天在網(wǎng)上搜索了一下解決辦法,主要有一下幾種方法2014-05-05Android實(shí)現(xiàn)可復(fù)用的選擇頁(yè)面
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)可復(fù)用的選擇頁(yè)面,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-06-06Android自定義控件之開(kāi)關(guān)按鈕學(xué)習(xí)筆記分享
這篇文章主要為大家分享了Android自定義開(kāi)關(guān)按鈕的學(xué)習(xí)筆記,內(nèi)容豐富,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-05-05android開(kāi)發(fā)教程之ubuntu使用adb連接小米2的步驟和adb調(diào)試方法
這篇文章主要介紹了ubuntu中使用adb連接小米2的步驟和adb調(diào)試方法,需要的朋友可以參考下2014-02-02Android實(shí)現(xiàn)讀取掃碼槍內(nèi)容(條形碼)
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)讀取掃碼槍內(nèi)容、條形碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09Android自定義view制作抽獎(jiǎng)轉(zhuǎn)盤(pán)
這篇文章主要為大家詳細(xì)介紹了Android自定義view制作抽獎(jiǎng)轉(zhuǎn)盤(pán),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-12-12Android后臺(tái)定時(shí)提醒功能實(shí)現(xiàn)
這篇文章主要介紹了Android后臺(tái)定時(shí)提醒功能,針對(duì)Service,AlarmManager的使用進(jìn)行詳細(xì)闡述,感興趣的小伙伴們可以參考一下2016-01-01Android優(yōu)化之啟動(dòng)頁(yè)去黑屏實(shí)現(xiàn)秒啟動(dòng)
本文的內(nèi)容主要是講Android啟動(dòng)頁(yè)優(yōu)化,去黑屏實(shí)現(xiàn)秒啟動(dòng)的功能,有需要的小伙伴們可以參考學(xué)習(xí)。2016-08-08百度地圖實(shí)現(xiàn)小車(chē)規(guī)劃路線后平滑移動(dòng)功能
這篇文章主要介紹了百度地圖實(shí)現(xiàn)小車(chē)規(guī)劃路線后平滑移動(dòng)功能,本文是小編寫(xiě)的一個(gè)demo,通過(guò)效果圖展示的非常直白,需要的朋友可以參考下2020-01-01