2

Android デバイスの適切な外部ストレージ (より多くの容量を持つ追加の SD カード) の場所を見つけようとしました。別のユーザーから、場所が常に同じではないことを知っています。メソッドEnvironment.getExternalStorageDirectoryは常に me を返しますmnt/sdcard

ユーザーから次の亜種が報告されています。

  1. mnt/sdcard/tflash
  2. mnt/sdcard/external_sd
  3. mnt/sdカード

外部 SD カードの実際の場所を特定するにはどうすればよいですか?

4

2 に答える 2

6
Environment.getExternalStorageState() returns path to internal SD mount point like "/mnt/sdcard"

いいえ、Environment.getExternalStorageDirectory()デバイス メーカーが「外部ストレージ」とみなすものを指します。一部のデバイスでは、これは SD カードなどのリムーバブル メディアです。一部のデバイスでは、これはオンデバイス フラッシュの一部です。ここで、「外部ストレージ」とは、少なくとも Android 2.x 以降では、「ホスト マシンにマウントされたときに USB 大容量ストレージ モードを介してアクセスできるもの」を意味します。

But the question is about external SD. How to get a path like "/mnt/sdcard/external_sd" (it may differ from device to device)?

Androidには、前述のように外部ストレージ以外に「外部SD」という概念がありません。

デバイス メーカーが外部ストレージをオンボード フラッシュにすることを選択し、SD カードも持っている場合は、そのメーカーに連絡して、SD カードを使用できるかどうか (保証されていません) と、そのルールについて確認する必要があります。使用するパスなど。

于 2012-10-09T10:29:46.013 に答える
0

外部SDカードの実際の場所を特定するにはどうすればよいですか?

=> Environment.getExternalStorageDirectory()は、外部ストレージデバイスの正確な場所を提供します。メーカーの考慮によりパスが異なる場合があります。

例:一部のHTCデバイスで/ sdcardを見つけ、一部のsamsungデバイスで/ mnt/sdcardを見つけました。

正しいEnvironment.getExternalStorageDirectory()方法です。

于 2012-10-09T10:34:46.403 に答える