之前的Android(4.1以前的版本)中,SDcard跟路徑經過「/sdcard」或者「/mnt/sdcard」來表示,而在Jelly Bean系統中修改成了「/storage/sdcard0」,之後可能還會有多個SDcard的狀況。目前爲了保持和以前代碼的兼容,sdcard路徑作了link映射。
爲了使您的代碼更加健壯而且可以兼容之後的Android版本和新的設備,請經過Environment.getExternalStorageDirectory().getPath()來獲取sdcard路徑,若是您須要往sdcard中保存特定類型的內容,能夠考慮使用Environment.getExternalStoragePublicDirectory(String type)函數,該函數能夠返回特定類型的目錄,目前支持以下類型:
DIRECTORY_ALARMS //警報的鈴聲
DIRECTORY_DCIM //相機拍攝的圖片和視頻保存的位置
DIRECTORY_DOWNLOADS //下載文件保存的位置
DIRECTORY_MOVIES //電影保存的位置, 好比 經過google play下載的電影
DIRECTORY_MUSIC //音樂保存的位置
DIRECTORY_NOTIFICATIONS //通知音保存的位置
DIRECTORY_PICTURES //下載的圖片保存的位置
DIRECTORY_PODCASTS //用於保存podcast(博客)的音頻文件
DIRECTORY_RINGTONES //保存鈴聲的位置