【関連記事】外部SDカードについてまとめるまえのメモ Androidでは、ストレージ(SDカードなど)のパスを取得するために Environment.getExternalStorageDirectory() が用意されています。 しかし、ストレージが内部ストレージ(取外不可)と外部ストレージ(取外可能)に別れている場合、内部ストレージを取得します。 外部ストレージを取得する Android API は用意されていません。 そこで開発者は色々な方法を使って、外部ストレージのパスを取得しています。 で、私も色々と試しました。こんな感じに。 ×環境変数に登録されているパスを取得する ⇒ 環境変数がバラバラ。そもそもHTC端末など、一部の端末は登録されていない。 ×環境変数と、一部特殊なパスは直書きで対応する ⇒ 種類が多すぎて対応しきれない ×シンボリックリンク参照 ⇒ 設定されていないデバイ