是否有任何功能/方法可以檢測手機中所有類型的不同存儲及其名稱。我的意思是如果您的設備上有多個可用內存,則會檢測到所有內部/外部存儲。以及如何檢測是否有可用的SD卡?Android獲取所有可用的存儲設備
在此先感謝!
是否有任何功能/方法可以檢測手機中所有類型的不同存儲及其名稱。我的意思是如果您的設備上有多個可用內存,則會檢測到所有內部/外部存儲。以及如何檢測是否有可用的SD卡?Android獲取所有可用的存儲設備
在此先感謝!
我不知道其他類型的存儲設備,我只知道Android的內部存儲和外部存儲設備。
現在對於檢查可用外部存儲類似,
public static boolean isSdPresent() {
return android.os.Environment.getExternalStorageState().equals(
android.os.Environment.MEDIA_MOUNTED);
}
return type boolean(true->available,false->NA).
而對於內部存儲,(內部存儲始終保持(目前),所以沒有必要檢查)只是得到這樣,
現在File path = Environment.getDataDirectory();
,在這兩種情況下,檢查可用內存和使用的內存,
StatFs stat = new StatFs(path.getPath());
long blockSize = stat.getBlockSize();
long availableBlocks = stat.getAvailableBlocks();
return Formatter.formatFileSize(this, availableBlocks * blockSize);
'getBlockSize()'不推薦使用,您可以直接使用'改爲使用path.getFreeSpace()'。 –
試試這個..
public static boolean isSdCardPresent() {
return android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED);
}
請看下面,可能會對你有所幫助。
http://stackoverflow.com/questions/7450650/how-to-list-additional-external-storage-folders-mount-points/15131810#15131810 – boiledwater