1

我面临一些奇怪的问题,关于是否存在存储卡。我正在检查 IsSDCARD 在我的 google nexus 设备上是否显示它的真实性,但是当我尝试使用文件资源管理器从 eclipse 访问存储卡时,它显示 mnt 文件夹中没有存储卡(存储卡之前的 arrao 不存在)....这里是我的代码请帮忙

  public static boolean isSDCardMounted() {
    Boolean isSDPresent = android.os.Environment.getExternalStorageState()
            .equals(android.os.Environment.MEDIA_MOUNTED);
    Log.d("Tag", "SDCARD PRESENT....." + isSDPresent);
    return isSDPresent;
}

 if (!DownLoadFile.isSDCardMounted()) {
            CommonFunctions.showAlerts(MainActivity.this,
                    "SD Card Not Available");
            if (progressDialog.isShowing())
                progressDialog.dismiss();
            cancel(true);
        }

请帮忙.....

4

2 回答 2

1

检查

public static boolean isExternalStorageRemovable ()

在 API 级别 9 中添加

返回主“外部”存储设备是否可移动。如果返回 true,则此设备是例如用户可以移除的 SD 卡。如果返回 false,则存储是内置在设备中的,无法物理移除。

Environment.getExternalStorageDirectory() 指的是设备制造商认为是“外部存储”的任何内容。在某些设备上,这是可移动媒体,例如 SD 卡。在某些设备上,这是设备上闪存的一部分

https://stackoverflow.com/a/15612964/786337

于 2013-06-04T11:23:25.633 回答
0

使用以下行 Use Environment.getExternalStorageState() 如“使用外部存储”中所述。

要获得外部存储的可用空间,请使用StatFs

// do this only *after* you have checked external storage state:
File extdir = Environment.getExternalStorageDirectory();
File stats = new StatFs(extdir.getAbsolutePath());
int availableBytes = stats.getAvailableBlocks() * stats.getBlockSize();

检查存储卡所有详细信息的代码在以下 http://sapienmobile.com/?p=204中提及

于 2013-06-04T11:23:30.540 回答