2014-01-30 111 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。