私はAndroidデバイスのExternalStorageDirectory
に何かを書き込もうとしています。これをテストするために、このディレクトリに単純なフォルダを作成しようとしました。それが働いていないので、私はthis stackoverflowスレッドを見つけた。私が最もupvotedサンプルコードExternalStorageにフォルダを作成します。
File folder = new File(Environment.getExternalStorageDirectory() + "/map");
boolean success = true;
if (!folder.exists()) {
success = folder.mkdir();
}
if (success) {
// Do something on success
} else {
// Do something else on failure
}
とgivven WRITE_EXTERNAL_STORAGE
許可を設定を使用すると、フォルダの作成は常に失敗している - そこには例外ではありませんが、実行後f.exists()
はまだfalse
です。 私はNexus 5X
と最新のNexus 5X-Emulator
でこれをテストしました。
エミュレータでEnvironment.getExternalStorageState()
はvirtual SD-card
をマウントしましたが、not-mounted
を返します(これは私にとっても奇妙なようです)。私の物理的なデバイスではmounted
を返すので、問題は見られません。なぜコードが動作してはならないのですか?
Environment.getExternalStorageState()
のフォルダの作成および/または動作の失敗の解決のためのアドバイスは大歓迎です。
のようなフォルダを作成することを確認しますhttps://stackoverflow.com/questions/32635704/android-permission-doesnt-work -ven-if-i-have-declared-it – CommonsWare
ありがとう、この投稿は完全に解決しました。 – FlashTek