1

メモリカードが存在するかどうかに関して、奇妙な問題に直面しています。Google nexus デバイスで IsSDCARD が true を返すかどうかを確認していますが、ファイル エクスプローラーを使用して 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 カードなどのリムーバブル メディアです。一部のデバイスでは、これはデバイス上のフラッシュの一部です。これについては、@CommonsWare がすでに回答しています。

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

于 2013-06-04T11:23:25.633 に答える
0

以下の行を使用「外部ストレージの使用」で説明されているように 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 に答える