2014-05-07 10 views
5

Ich erhalte einen Fehler wie unten, wenn ich diesen Aufruf erhalte, um externe Speicherdetails zu erhalten.Ungültiger Pfadfehler: Abrufen der externen Speichergröße

05-07 16:55:07.710: E/AndroidRuntime(22624): FATAL EXCEPTION: main java.lang.IllegalArgumentException: Invalid path: /storage/emulated/0 
05-07 16:55:07.710: E/AndroidRuntime(22624): at android.os.StatFs.doStat(StatFs.java:46) 
05-07 16:55:07.710: E/AndroidRuntime(22624): at android.os.StatFs.<init>(StatFs.java:39) 

Es war funktioniert, bevor ich mein Android auf SAMSUNG Galaxy S3 4.3 aktualisieren. Ich folgte diesem post .Dies ist mein Code:

// getting available memory 
public static String getAvailableExternalMemorySize() { 
    if (externalMemoryAvailableBool()) { 
     // File path = 
     // Environment.getExternalStorageDirectory().getAbsolutePath(); 
     StatFs stat = new StatFs(Environment.getExternalStorageDirectory() 
       .getAbsolutePath()); 
     long blockSize = stat.getBlockSize(); 
     long availableBlocks = stat.getAvailableBlocks(); 
     return formatSize(availableBlocks * blockSize); 

    } else { 
     return ERROR; 
    } 

} 

// getting total memory 
public static String getTotalExternalMemorySize() { 

    if (externalMemoryAvailableBool()) { 
     File path = Environment.getExternalStorageDirectory(); 
     StatFs stat = new StatFs(path.getPath()); 
     long blockSize = stat.getBlockSize(); 
     long totalBlocks = stat.getBlockCount(); 
     return formatSize(totalBlocks * blockSize); 
    } else { 
     return ERROR; 
    } 
} 

Ich möchte & Total Memory meiner externen Speicherkarte verfügbar bekommen.

+0

Wo sehen Sie Ausnahme bekommen? – sandrstar

+1

Dort: >>> StatFs stat = neue StatFs (Environment.getExternalStorageDirectory() . GetAbsolutePath()); –

+1

Auf meinem Samsung Galaxy Gerät funktioniert dieser Code gut. Haben Sie versucht, die Berechtigung READ_EXTERNAL_STORAGE zu verwenden? – sandrstar

Antwort

1

Dies ist für diejenigen, die nach der gleichen Crash-Signatur suchen. Da diese Frage beim googeln für sie an erster Stelle stand und ich keine klare akzeptierte Antwort sah.

Der Vorschlag von @sandrstar ist korrekt. Meine Apps haben den gleichen Absturz erfahren und ich habe sie nur durch Hinzufügen der Berechtigung READ_EXTERNAL_STORAGE gelöst. Obwohl es scheint, Abstürze für meinen Fall aufgetreten/berichtet nur auf 4.4 Gerät.

Der Grund wird hier erklärt: http://developer.android.com/reference/android/Manifest.permission.html#READ_EXTERNAL_STORAGE

+2

Hatte das gleiche Problem. Das Hinzufügen der Erlaubnis hat nicht geholfen. Der Pfad zu meiner SD-Karte ist/mnt/media_rw/extSdCard – AndroidDev

Verwandte Themen