原创 安卓写入SD卡的路径

2015-11-5 13:24 1236 17 17 分类: 软件与OS 文集: 学以致用


安卓写入SD卡的路径:

4.0以后的安卓系统有分内置SD卡(内部闪存)和外置SD卡。/sdcard和/mnt/sdcard目录仍存在,以和老版本兼容,但它是指向内置SD卡的。而老版本安卓是指向外置SD卡的。
必须加入权限才行。
一、加入这句:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

在安装APP时,会提示:
修改或删除您的USB存储设备中的内容
测试对受保护存储空间的访问权限

与“Environment.getExternalStorageDirectory().getPath()”这语句无关


二、加入这句:
<uses-permission android:name="android.permission.WRITE_MEDIA_STORAGE" />

eclipse出错:
Description        Resource
Permission is only granted to system apps        AndroidManifest.xml    


三、所以只用这个android.permission.WRITE_EXTERNAL_STORAGE权限,测试,可以在内置SD卡,或外置SD卡上写入文件!!
写入的目的地,如果是硬编码(hardcode) “/sdcard/1.txt”或者“/mnt/sdcard/1.txt”,则是写入到内置SD卡中。
如果是用str=Environment.getExternalStorageDirectory().getPath();  str+="/1.txt";,则是写入到外置SD卡中,注意需加一个/号。(需import android.os.Environment;)

写入外置SD卡时,最好检测一下SD卡的状态是否存在。
如果手机硬件无法安装外置SD卡,只有内置SD卡,则Environment.getExternalStorageDirectory().getPath()得到的路径就是内置SD卡的路径,与“/mnt/sdcard”是一样的。

 

文章评论0条评论)

登录后参与讨论
我要评论
0
17
关闭 站长推荐上一条 /2 下一条