android sd卡路径读取

        主要的方法就是通过读取 /proc/mounts 文件里的信息来获得sd卡路径。

        对于4.4之前的android系统来说,只要读取到/dev/block/void 后面挂载的路径即可。一般来说,都会是/storage/sdcard0之类的路径。

        但是对于4.4版本,能够读取路径的前缀应该是 /dev/fuse。(/dev/block/void 后的路径改为了/mnt/media_rw/sdcard0,是个系统权限的路径)。

        而且,从4.4开始,对访问SD卡有限制,禁止了第三方应用对内外置sdcard的访问,所以光有路径是不够的。

        KK版本中,GOOGLE引入了主副卡的概念: 主卡为SDCARD0 副卡为SDCARD1。

        对主卡,APK是有读写权限的。 对于副卡,需要有WRITE_MEDIA_STORAGE的PERMISSION才能写 ,要访问外部SD卡,必须持有android.permission.WRITE_MEDIA_STORAGE,但这个PERMISSION是受保护的,您的APK必须用平台签名或者预置到system/priv-app。 

        所以,再在Manifest里加上相应权限即可。


你可能感兴趣的:(android sd卡路径读取)