博客介绍内容

Subscribe RSS FeedSubscribe Comments

获取Android外置存储卡路径

现在的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/extSdCard

看到这些乱七八糟的路径(其中还有一些使用符号链接方式挂到别的路径),大家感觉如何呢,更可悲的是,Google每次小规模升级还要兼容这些垃圾配置方式。

目前判断外置存储卡的方式可通过函数并结合上文部分路径判断:

boolean sdExist = Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED);
if(sdExist) {
    f = Environment.getExternalStorageDirectory();
}

如果是源码开发,可直接找CPU的控制器规划图,能看到哪个SDIO控制器负责外置存储卡管理。

相关文章: 打印文章

相关评论:  

发表评论:

订阅博客

最新文章

Copyright information
MyBlog 1.8