2014-01-30 69 views
0

我正在DigiBoard(評估板)上爲Android編寫小型媒體播放器。我想用USB存儲播放音樂。我可以插USB,我的板安裝它(我看到一個通知),當我使用ADB殼,去到/ mnt /我有幾個文件夾,其中之一是移動U盤和SD卡:Android上的外部USB存儲

# cd mnt 
cd mnt 
# ls 
ls 
obb 
shm 
asec 
extsd 
udisk 
sdcard 
secure 

我米列出了PROC /坐騎內容:

# cat mounts 
cat mounts 
rootfs/rootfs rw 0 0 
ubi0_0/ubifs rw,relatime 0 0 
tmpfs /dev tmpfs rw,relatime,mode=755 0 0 
devpts /dev/pts devpts rw,relatime,mode=600 0 0 
proc /proc proc rw,relatime 0 0 
sysfs /sys sysfs rw,relatime 0 0 
tmpfs /mnt/asec tmpfs rw,relatime,mode=755,gid=1000 0 0 
tmpfs /mnt/obb tmpfs rw,relatime,mode=755,gid=1000 0 0 
tmpfs /mnt/shm tmpfs rw,relatime,size=1024k,mode=775,uid=1000,gid=1003 0 0 
/dev/block/vold/179:1 /mnt/sdcard vfat ro,dirsync,nosuid,nodev,noexec,relatime,u 
id=1000,gid=1015,fmask=0002,dmask=0002,allow_utime=0020,codepage=cp437,iocharset 
=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0 
/dev/block/vold/179:1 /mnt/secure/asec vfat ro,dirsync,nosuid,nodev,noexec,relat 
ime,uid=1000,gid=1015,fmask=0002,dmask=0002,allow_utime=0020,codepage=cp437,ioch 
arset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0 
tmpfs /mnt/sdcard/.android_secure tmpfs ro,relatime,size=0k,mode=000 0 0 
/dev/block/vold/8:1 /mnt/udisk vfat rw,dirsync,nosuid,nodev,noexec,relatime,uid= 
1000,gid=1015,fmask=0002,dmask=0002,allow_utime=0020,codepage=cp437,iocharset=is 
o8859-1,shortname=mixed,utf8,errors=remount-ro 0 0 
# 

我這裏有一些路徑,其中兩個是「有效」 MNT/SD卡和MNT /移動U盤。我讀過vfat的條目是有效的坐騎,但/ mnt/secure/asec有vfat屬性。我有名爲ES File Explorer的應用程序,我可以在「udisk」文件夾中看到文件: EZ output 因此可以過濾安裝的源文件。你能告訴我如何過濾這個?默認情況下是否有一些文件夾在/ mnt中,我可以在應用中列出它們/硬編碼,以便我檢查它們的名稱?

回答

1

好吧,我自己做了。 您需要閱讀/proc/mounts文件和過濾的內容:

if (entry.contains("vfat") && !entry.contains("secure")) { 
    String absolutePath = entry.split(" ")[1]; 
} 

條目是單行形成文件。在absolutePath中,你可以直接訪問掛載設備,如/ mnt/sdcard或/ mnt/udisk。