android 的外部存储的挂载的理解
我们大多数情况下操纵的是外部存储,而外部存储都是通过挂载到根目录来让系统对外部存储进行链接的,下面一小队就是对挂在的理解
首先,不同机型的挂载路径可能会有些许的差别,请记住,不同的版本,不同的厂商,不同的机型可能会有些许差别,要自己去兼容。
下面是常见的几种,但殊途同归,但这样会给我们在获取内外置sd卡上造成很大的麻烦,很无语,至于怎样去获取内外置存储卡请移步。。
- /mnt/sdcard0, /mnt/sdcard1, /mnt/sdcard2
- /mnt/sdcard-ext, /mnt/ext_sdcard, /mnt/sdcard/ext_sd
- /mnt/sdcard/extra_sd, /mnt/extrasd_bind, /mnt/sdcard/external_SD
- /storage/sdcard0, /storage/sdcard1,/storage/extSdCar
/sdcard : /mnt/sdcard的符号链,是一个软链接(就是快捷方式),链接到/mnt/sdcard下,也可以查看sdcard的内容。
/mnt/sdcard(<4.0):毫无疑问,sd卡的挂载点,将外部设备挂载在这个目录下。/storage/sdcard(>4.1):那这个是什么鬼,另外里面还有一个emulated的文件夹。
android 升级到4.2以后,采用的是fuse技术,外部设备会被挂载到/storage/emulated/0这个目录下,而不是传统的/mnt/sdcard上,但为了兼容以前的版本,
同时挂载到 /storage/emulated/legacy,还建立三个软连接(快捷方式) /storage/sdcard0 ,/sdcard,/mnt/sdcard ,都指向 /storage/emulated/legacy这个挂载点。也就是
说文件夹0和legacy指向的地址是一致的。4.1为/storage/usStorage/0,
注意:Environment.getExternalStorageDirectory()方法有时是获取到的是内置内存卡,有时获取的是外置内存卡,具体请参看
下面插入的这幅图是eclipse File Explore 下挂载点的信息,看info(指向信息),(华为手机荣耀3c),不同的机型挂载点会有不同。
/mnt/shell/emulated据说是为了多用户设计的,但这几个那个是挂载点,那个是软连接?不知道,求指教,万分感谢。
更多相关文章
- Android创建应用快捷方式(ShortCut)的有效方式
- android在TextView的最后一行后面拼接view(类似长文本的查看更多
- 【自定义控件系列一】android画图类---Canvas浅谈
- 【Android】获取当前 Wifi 的 MAC 地址(BSSID),注意并非是手机的MAC
- 不同手机在豌豆夹上显示设备同名的解决方法 && Android(安卓)获
- 关于android各种双卡手机获取imei,imsi的处理(mtk,展讯,高通等)
- android学习之获取联系人原理(姓名和电话)详解
- Android中获取后台正在运行的应用列表(附源码)
- android 验证码按钮点击,判断网络和匹配手机号并自动更新时间;