Comment vérifier le stockage interne et externe s'il existe

Comment puis-je savoir s'il existe un stockage interne et externe dans Android de façon pragmatique? Est-ce que quelqu'un sait comment vérifier le stockage interne et externe

Merci d'avance

  • Boîte de dialogue DatePicker sans visualisation du calendrier dans lollipop ?
  • Bluetooth 4.0 / Smart / Low energy sur Samsung Galaxy S3
  • Comment trouver le statut de la connexion VPN via API Framework ou toute autre méthode efficace?
  • Pourquoi l'utilisation de méthodes d'aide statique dans Java est-elle mauvaise?
  • Android: Import DrawerLayout ne peut pas être résolu
  • Android: comment appuyer sur le bouton sur le clavier doux
  • Stockage d'une grande quantité d'images dans Android
  • Android: Obtenez le nom de l'application (pas le nom du package)
  • SimpleCursorAdapter avec des sections dans Android
  • Android - Comment puis-je détecter si l'utilisateur a choisi de partager avec Facebook ou Twitter avec l'intention?
  • Comment comparer les caractères dans deux CharSequences
  • Dans App Purchaes avec Android Studio incapable de trouver IInAppBillingService
  • 4 Solutions collect form web for “Comment vérifier le stockage interne et externe s'il existe”

    Il est déjà expliqué dans la documentation Android .

    Code tiré de la documentation

    boolean mExternalStorageAvailable = false; boolean mExternalStorageWriteable = false; String state = Environment.getExternalStorageState(); if (Environment.MEDIA_MOUNTED.equals(state)) { // We can read and write the media mExternalStorageAvailable = mExternalStorageWriteable = true; } else if (Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) { // We can only read the media mExternalStorageAvailable = true; mExternalStorageWriteable = false; } else { // Something else is wrong. It may be one of many other states, but all we need // to know is we can neither read nor write mExternalStorageAvailable = mExternalStorageWriteable = false; } 

    J'ai écrit une petite classe pour vérifier l'état de stockage. C'est peut-être utile pour vous.

    MISE À JOUR: Nettoyez le code, supprimez les commentaires et faisait la classe statique.

     import android.os.Environment; public class StorageHelper { private static boolean externalStorageReadable, externalStorageWritable; public static boolean isExternalStorageReadable() { checkStorage(); return externalStorageReadable; } public static boolean isExternalStorageWritable() { checkStorage(); return externalStorageWritable; } public static boolean isExternalStorageReadableAndWritable() { checkStorage(); return externalStorageReadable && externalStorageWritable; } private static void checkStorage() { String state = Environment.getExternalStorageState(); if (state.equals(Environment.MEDIA_MOUNTED)) { externalStorageReadable = externalStorageWritable = true; } else if (state.equals(Environment.MEDIA_MOUNTED) || state.equals(Environment.MEDIA_MOUNTED_READ_ONLY)) { externalStorageReadable = true; externalStorageWritable = false; } else { externalStorageReadable = externalStorageWritable = false; } } } 

    Je l'ai fait fonctionner si quelqu'un le recherche … ça aidera: D

     try { File dir = new File("/mnt/"); File[] dirs = dir.listFiles(); for (File _tempDIR : dirs) { String sdCard = _tempDIR.getAbsolutePath().toString(); File file = new File(sdCard + "/" + Environment.DIRECTORY_DOWNLOADS); File[] files = file.listFiles(); if (files != null) { for (int i = 0; i < files.length; i++) { String _temp = files[i].getAbsoluteFile().getName() .toString();/*Your code, and what you want to find, from all the Sdcard, internal and external. Everything mounted will be found :D*/ 
     File f = new File("/mnt/sdcard/ext_sd"); if (f.exists()) { // Do Whatever you want sdcard exists } else{ Toast.makeText(MainActivity.this, "Sdcard not Exists", Toast.LENGTH_SHORT).show(); } 
    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.