Though i got so many post but problem is that it return true if phone has inbuild storage. Anyone for help me
            Asked
            
        
        
            Active
            
        
            Viewed 2,295 times
        
    0
            
            
        - 
                    2There is nothing for this in the Android SDK, as Android has had no support for [removable storage](http://commonsware.com/blog/2014/04/09/storage-situation-removable-storage.html) prior to 4.4, and what support is has in 4.4+ does not include what you are seeking. – CommonsWare Dec 09 '14 at 12:54
 
1 Answers
0
            
            
        Below code will helps...
/**
 * Returns all available external SD-Card roots in the system.
 *
 * @return paths to all available external SD-Card roots in the system.
 */
public static String[] getStorageDirectories() {
    String[] storageDirectories;
    String rawSecondaryStoragesStr = System.getenv("SECONDARY_STORAGE");
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
        List<String> results = new ArrayList<String>();
        File[] externalDirs = myContext.getExternalFilesDirs(null);
        for (File file : externalDirs) {
            String path = null;
            try {
                path = file.getPath().split("/Android")[0];
            } catch (Exception e) {
                e.printStackTrace();
                path = null;
            }
            if (path != null) {
                if ((Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP && Environment.isExternalStorageRemovable(file))
                        || rawSecondaryStoragesStr != null && rawSecondaryStoragesStr.contains(path)) {
                    results.add(path);
                }
            }
        }
        storageDirectories = results.toArray(new String[0]);
    } else {
        final Set<String> rv = new HashSet<String>();
        if (!TextUtils.isEmpty(rawSecondaryStoragesStr)) {
            final String[] rawSecondaryStorages = rawSecondaryStoragesStr.split(File.pathSeparator);
            Collections.addAll(rv, rawSecondaryStorages);
        }
        storageDirectories = rv.toArray(new String[rv.size()]);
    }
    return storageDirectories;
}
//To check external SD is available or not
    String retArray[] = getStorageDirectories();
    if (retArray.length == 0) {
        Toast.makeText(ListenActivity.this, "Sdcard not Exists", Toast.LENGTH_SHORT).show();
    } else {
        for (int i = 0; i < retArray.length; i++) {              
            Log.e("path ", retArray[i]);
            }
    }
        Nidhin John
        
- 1
 - 4