@SuppressLint("NewApi")//你懂的
private File findSDCARD() {
boolean b = Environment.MEDIA_MOUNTED.equals(Environment
.getExternalStorageState());
if (!b) return null;
File extFile = Environment.getExternalStorageDirectory();
File[] files = extFile.listFiles();
if (files == null)
return null;
for (File f : files) {
if (extFile.isDirectory()
&& f.canWrite()//sd卡一定是可寫的.如果去掉這條件的話會得到隱藏的系統專用文件夾
&& Math.abs(extFile.getTotalSpace() - f.getTotalSpace()) > 2 * 1024 * 1024) {
//外部存儲器與子目錄的在未掛載的情況下有相同的存儲容量.子目錄是掛載的話.就會出現不同的存儲容量
//2 * 1024 * 1024 是用來指出兩存儲器的存儲容量大小差異 當然可以不用這么大 隨意
return f;
}
}
return null;
}
//調用,14為android4.0
if (Build.VERSION.SDK_INT >= 14) {
File sd = findSDCARD(extFile);
}