Wie können Sie Ihren Telefon internen Speicher von einer App abrufen? Ich habe maintinfo gefunden, aber es scheint, dass Informationen darüber zurückgegeben werden, wie viel Speicher Ihre aktuell ausgeführten Aufgaben haben. Ich versuche, mit meiner App herauszufinden, wie viel interner Telefonspeicher verfügbar ist.Android internen Telefonspeicher
6
A
Antwort
17
Verwenden Sie android.os.Environment
, um das interne Verzeichnis zu finden, und verwenden Sie dann android.os.StatFs
, um den Systemaufruf Unix statfs
darauf aufzurufen. Schamlos stolen aus dem Android-Einstellungen App:
File path = Environment.getDataDirectory();
StatFs stat = new StatFs(path.getPath());
long blockSize = stat.getBlockSize();
long availableBlocks = stat.getAvailableBlocks();
return Formatter.formatFileSize(this, availableBlocks * blockSize);
3
hatte ich eine harte Zeit mir arbeitet mit. Also möchte ich meinen Arbeitscode teilen, um einige Leute zu retten.
Getestet auf einem 32 GB Gerät und 1 GB Gerät.
// Return size is in Megabytes
public class DeviceMemory {
public static long getInternalStorageSpace()
{
StatFs statFs = new StatFs(Environment.getDataDirectory().getAbsolutePath());
//StatFs statFs = new StatFs("/data");
long total = ((long)statFs.getBlockCount() * (long)statFs.getBlockSize())/1048576;
return total;
}
public static long getInternalFreeSpace()
{
StatFs statFs = new StatFs(Environment.getDataDirectory().getAbsolutePath());
//StatFs statFs = new StatFs("/data");
long free = ((long)statFs.getAvailableBlocks() * (long)statFs.getBlockSize())/1048576;
return free;
}
public static long getInternalUsedSpace()
{
StatFs statFs = new StatFs(Environment.getDataDirectory().getAbsolutePath());
//StatFs statFs = new StatFs("/data");
long total = ((long)statFs.getBlockCount() * (long)statFs.getBlockSize())/1048576;
long free = ((long)statFs.getAvailableBlocks() * (long)statFs.getBlockSize())/1048576;
long busy = total - free;
return busy;
}
}
Verwandte Themen
- 1. So erstellen Verzeichnis im Telefonspeicher in Android-Emulator in Android
- 2. (Android) Pfad/Android im internen Speicher finden
- 3. Android Emulator internen Speicher ist fast voll
- 4. Share screenshot von internen Speicher android
- 5. Lesen json von android internen Speicher Fehler
- 6. Writer-Datei TXT im internen Speicher Android
- 7. Speichern Float-Werte im internen Speicher Android
- 8. Wie Dateipfad der Datei aus dem internen Speicher in android
- 9. Android Emulator immer mit 533 MB internen Speicher
- 10. Datei nicht aus dem internen Speicher in Android spielen
- 11. Speichern In den internen Speicher groß android Bitmap
- 12. Probleme im Caching-internen SQLITE Rowid in Android
- 13. Android - Speichern von Daten in einem internen Speicher
- 14. Zugriff auf Daten im internen Speicher auf Android-Gerät
- 15. wie zwischen internen und externen SD-Karte Weg in android
- 16. Wie verwende ich erhaltenStyledAttributes (int []) mit internen Designs von Android
- 17. Android -Listing mp3-Dateien in Listview aus dem internen Speicher
- 18. Verwenden des internen Speichers aus einer Nicht-Aktivitätsklasse in Android
- 19. Android - Wählen Sie die Datei aus dem internen Speicherordner
- 20. android laden Registerkarte Symbol aus dem internen Speicher
- 21. Erstellen eines Ordners mit Datei im internen Speicher von Android
- 22. Android Studio create Diconary mit Dateien auf internen Speicher
- 23. Wie behebe ich diese internen Maven Fehler?
- 24. Lizenzen von internen Paketen?
- 25. RewriteLog triggert internen Serverfehler
- 26. Erstellen von Ordnern im internen Speicher
- 27. SD-Karte installieren Telefonspeicher? und warum unterscheidet sich die Größe der App?
- 28. Android: SQLite-Datenbank auf SD-Karte verwenden (keinen internen Android-Datenspeicher verwenden)
- 29. .HTACCESS Datei verursacht internen Serverfehler
- 30. jQuery: Umgang mit internen Serverfehlerantworten