- Date: Wed 07 11 2012
- Category: Android
- Response: Comment 0 Trackback 0
外部SDカードについてまとめるまえのメモ
Android のSDカードのディレクトリパス取得について『SDカードのパス取得:Environment と System.getenv』で書いたが、対応しきれていないためいったん書き直し。
――の前のメモ。
Android APIで用意されているSDカードのパス取得
Environment.getExternalStorageDirectory()
デバイスによってはSDカードは内蔵ストレージ(取り外し不可)、外部ストレージ(取り外し可能)に分かれている。
その場合、上記は内蔵ストレージを取得する。
外部ストレージを取得するには System.getenv(String name) を使用して環境変数に設定されているパスを取得する。
【環境変数】 ※デバイス毎に環境変数名が違う
EXTERNAL_STORAGE
EXTERNAL_STORAGE2
EXTERNAL_SD_STORAGE
EXTERNAL_USB_STORAGE
EXTERNAL_ALT_STORAGE
INTERNAL_STORAGE
EXTERNAL_STORAGE_ALL
SECOND_VOLUME_STORAGE
THIRD_VOLUME_STORAGE
SECONDARY_STORAGE
EXTERNAL_REMOVABLE_SDCARD
一番上の EXTERNAL_STORAGE は Environment.getExternalStorageDirectory() から呼び出されている。
ただし、初期の GALAXY S だと違うパスが変えるらしい。
未確認だが Environment.isExternalStorageRemovable() で取り外し可能か確認できるようだ。
(Androud 2.3 API 9 以降)
【注意】
・サムスンの GALAXY シリーズで GALAXY SⅢから環境変数名が変わった
・HTC 製品のように環境変数が用意されていないものがある
・環境変数名は一緒だが Xperia acro HD は au と docomo でパスが違う
・GALAXY SⅢ等、環境変数には : (コロン)区切りで複数のパスが指定されているものもある
・環境変数は上記以外にもある可能性大。今後も増えるかもしれない。
【参考サイト(ページ)】
・我が征くは肥沃な荒野 - ストレージの扱いが混沌の極みの件
http://zautale.sakura.ne.jp/android/ExternalStorageChecker/index.cgi
・コードを貼り付けながら。 - SDカードのディレクトリ・パス
http://d.hatena.ne.jp/unagi_brandnew/20120613/1339598357
・au - そのほか 仕様(スペック)
この記事の参考にはしていないが、公式でSDカードのパスが公開されていたのでついでに。
残念ながら環境変数は非公開されていない。
http://www.au.kddi.com/developer/android/kishu/other/index.html
――の前のメモ。
Android APIで用意されているSDカードのパス取得
Environment.getExternalStorageDirectory()
デバイスによってはSDカードは内蔵ストレージ(取り外し不可)、外部ストレージ(取り外し可能)に分かれている。
その場合、上記は内蔵ストレージを取得する。
外部ストレージを取得するには System.getenv(String name) を使用して環境変数に設定されているパスを取得する。
【環境変数】 ※デバイス毎に環境変数名が違う
EXTERNAL_STORAGE
EXTERNAL_STORAGE2
EXTERNAL_SD_STORAGE
EXTERNAL_USB_STORAGE
EXTERNAL_ALT_STORAGE
INTERNAL_STORAGE
EXTERNAL_STORAGE_ALL
SECOND_VOLUME_STORAGE
THIRD_VOLUME_STORAGE
SECONDARY_STORAGE
EXTERNAL_REMOVABLE_SDCARD
一番上の EXTERNAL_STORAGE は Environment.getExternalStorageDirectory() から呼び出されている。
ただし、初期の GALAXY S だと違うパスが変えるらしい。
未確認だが Environment.isExternalStorageRemovable() で取り外し可能か確認できるようだ。
(Androud 2.3 API 9 以降)
【注意】
・サムスンの GALAXY シリーズで GALAXY SⅢから環境変数名が変わった
・HTC 製品のように環境変数が用意されていないものがある
・環境変数名は一緒だが Xperia acro HD は au と docomo でパスが違う
・GALAXY SⅢ等、環境変数には : (コロン)区切りで複数のパスが指定されているものもある
・環境変数は上記以外にもある可能性大。今後も増えるかもしれない。
【参考サイト(ページ)】
・我が征くは肥沃な荒野 - ストレージの扱いが混沌の極みの件
http://zautale.sakura.ne.jp/android/ExternalStorageChecker/index.cgi
・コードを貼り付けながら。 - SDカードのディレクトリ・パス
http://d.hatena.ne.jp/unagi_brandnew/20120613/1339598357
・au - そのほか 仕様(スペック)
この記事の参考にはしていないが、公式でSDカードのパスが公開されていたのでついでに。
残念ながら環境変数は非公開されていない。
http://www.au.kddi.com/developer/android/kishu/other/index.html
スポンサーサイト