SDカードなどの外部ストレージ(Nexus7などSDカードではない外部ストレージを持つ端末もある)にあるファイルにアクセスする場合、端末によってパスが異なる。
(sdcard/だったりmnt/sdcard/だったりを直に指定すると、別の端末で動かないという結果に)
どの端末でも正しく外部ストレージパスで処理する為に、
Environment.getExternalStorageDirectory()をつかってパス名を取得する。
パーミッション
外部ストレージへアクセスする為にはパーミッションを指定しなければならない
読み取りのみの場合:READ_EXTERNAL_STORAGE
読み書き両方の場合:WRITE_EXTERNAL_STORAGE
!注意
READ_EXTERNAL_STORAGEはAndroid4.1で導入されたが必須ではなかった
しかしAndroid4.4からは必須となったみたい
参考:https://possiblemobile.com/2013/11/whats-changed-in-android-4-4-kitkat/
コメントをお書きください