我想更新并向用户显示我的设备可用空间,我尝试了很多方法,但都没有成功,我使用的每种方法似乎都只在应用程序启动时显示一次内存,但比这些方法每次调用打印相同的值,没有更新 我目前使用这种方法如何以编程方式监视android设备可用空间
public long getfreeMemory() {
StatFs statFs = new StatFs(Environment.getRootDirectory().getAbsolutePath());
return (long) (statFs.getAvailableBlocks() * statFs.getBlockSize());
}
public void checkAppMemory() {
Log.e("MEMORY", getfreeMemory() + "");
memoryHandler_.postDelayed(new Runnable() {
public void run() {
checkAppMemory();
}
}, (int) (CHECK_MEMORY_FREQ_SECONDS * 1000));
}
我只是想检测,如果没有可用的免费存储空间,我用广播接收器,但一台设备(三星s4 os 4.4.2)不发射内存低电量事件
如果我要监控SD卡存储? –
@JemoMgebrishvili:如果用“sdcard storage”表示[external storage](https://commonsware.com/blog/2014/04/08/storage-situation-external-storage.html),则使用'getExternalFilesDir() '。如果通过“sdcard storage”,您的意思是[可移动存储](https://commonsware.com/blog/2014/04/09/storage-situation-removable-storage.html),请查看getExternalFilesDirs()是否返回2 +项目,如果它使用第二个和后续的项目。 – CommonsWare
是的,可移动存储我试图使用getExternalFilesDir(null).getAbsolutePath(),而不是更新 –