2011-11-15 3 views
2

Y at-il une fonction/méthode qui permet de détecter tout type de stockage différent à votre téléphone avec leurs noms. Je veux détecter tout stockage interne/externe s'il y en a plus d'un sur votre appareil. Et comment détecter s'il y a une carte SD disponible ou non?Android obtenir tous les périphériques de stockage disponibles

Merci d'avance!

+0

S'il vous plaît voir ci-dessous, peut être vous aider.
http://stackoverflow.com/questions/7450650/how-to-list-additional-external-storage-folders-mount-points/15131810#15131810 – boiledwater

Répondre

4

Je ne sais pas d'autres types de périphérique de stockage, je ne sais périphérique de stockage interne et de stockage externe pour Android.

maintenant pour l'enregistrement disponible stockage externe quelque chose comme,

public static boolean isSdPresent() { 

return android.os.Environment.getExternalStorageState().equals(
android.os.Environment.MEDIA_MOUNTED); 

} 

return type boolean(true->available,false->NA). 

Et pour stockage interne, (stockage interne est reste toujours (présent), donc pas besoin de le vérifier) ​​juste obtenir comme,

File path = Environment.getDataDirectory(); 

maintenant, dans les deux cas pour vérifier la mémoire disponible et la mémoire d'utilisation,

StatFs stat = new StatFs(path.getPath()); 
long blockSize = stat.getBlockSize(); 
long availableBlocks = stat.getAvailableBlocks(); 
return Formatter.formatFileSize(this, availableBlocks * blockSize); 
+0

'getBlocksize()' est dépréciée, vous pouvez utiliser directement ' path.getFreeSpace() 'à la place. –

1

Essayez celui-ci ..

public static boolean isSdCardPresent() { 

     return android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED); 

     } 
Questions connexes