Durante la chiamata per ottenere i dettagli della memoria esterna viene visualizzato un errore come quello riportato di seguito.Errore di percorso non valido: richiama la dimensione della memoria esterna
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)
Prima di aggiornare il mio android a SAMSUNG Galaxy S3 4.3 è stato eseguito. Ho seguito questo post .Questo è il mio codice:
// 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;
}
}
voglio ottenere Disponibile & totale di memoria della mia scheda di memoria esterna.
dove si ottiene un'eccezione? – sandrstar
Qui: >>> StatFs stat = new StatFs (Environment.getExternalStorageDirectory() .getAbsolutePath()); –
Sul mio dispositivo Samsung Galaxy il codice funziona correttamente. Hai provato a utilizzare l'autorizzazione READ_EXTERNAL_STORAGE? – sandrstar