how to check internal and external storage if exist

后端 未结 5 608
说谎
说谎 2020-11-29 04:03

How do i know if there are internal and external storage in android pragmatically? does anyone how to know how to check both internal and external storage

thanks in

5条回答
  •  时光取名叫无心
    2020-11-29 04:32

    I wrote a little class for that checking the storage state. Maybe it's of some use for you.

    UPDATE: Cleaned up code, removed comments and made class static.

    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;
            }
        }
    
    }
    

提交回复
热议问题