2017-01-24 8 views
0

SDカードに内蔵ストレージと同じディレクトリを作成したい。SDカードに入っているディレクトリのパスを取得する方法は?

マイ内部ストレージ・パスは、私はSDカードのルートに同じディレクトリを作成したい"sdcard/<my_directory_name>/"

です。

私はディレクトリのパスを見つけるために次の方法を試してみました。

  1. sdcard1/<my_directory_name>/
  2. Environment.getExternalStorageDirectory() +"/<my_directory_name>/"

SDカードのパスを見つけるための方法を提案してください。

+0

'私の内部ストレージパスは「sdcard/ /」です。不可能な2回。あなたは '私の外部ストレージパスは/ sdcard/ /" ' – greenapps

答えて

2

Android 4.4以降ではremovable storageに任意にアクセスすることはできません。したがって、ファイルシステムの観点からは、有用な道はありません。 getExternalFilesDirs()とkinを使用しても構いません.2つ以上の場所を返す場合、2番目以降の場所はリムーバブルストレージにあり、その場所を読み書きできます。

+0

です。これは1つのレコードしか提供しません"/storage/sdcard0/Android/data/" – Naitik

+0

@ Naitik:'/storage/sdcard0 /典型的なリムーバブルストレージ命名規則 – CommonsWare

0

CommonsWareは答えましたが、セカンダリ外部ストレージを読み書きすることはできませんが、ここではそのパスを生成する方法があります。

System.getenv("SECONDARY_STORAGE"); //returns /storage/extSdCard 

String path = "/storage/extSdCard";でも使用できますが、もう一度ファイルを書き込むことはできません。

編集@CommonsWareがコメントしたとおり、この方法の保証はありません。私はそれを試してみましたが、それはうまくいったのですが、もう一度、保証がないと言えば、あなたは彼の言葉を取ることができます。

+1

この環境変数が意味のある値に設定されるという保証はありません。 – CommonsWare

関連する問題