15

私は奇妙な問題で怒っています。コード内にフォルダーを作成すると

directory_path = Environment.getExternalStorageDirectory()
                + "/" + context.getResources().getString(R.string.app_name);

directory = new File(directory_path);
if (!directory.exists()) {
    directory.mkdirs();
}

/sdcard/ 内に新しいフォルダーが作成されます。logcat directory_path 変数で印刷しようとすると、パスが異なります: /storage/emulated/0/ で、そのパスに移動すると、 /sdcard/ で作成されたものと同じ名前の別のフォルダーが見つかりました。そのフォルダーにデータを書き込もうとすると、すべてが /storage/emulated/0 のフォルダーに書き込まれ、他のフォルダー (使用したいフォルダー) は空のままになるため、これは私にとって問題です。なんで?

4

2 に答える 2

4

データを読み返してみましたか?/storage/emulated/0/ は、タブレットで複数のユーザーをサポートするために JB で導入された新しいパスです。しかし、それを使用して外部ファイルにアクセスする限りEnvironment.getExternalStorageDirectory()、それらが実際にどこにあるかは問題ではありません。

ここにいくつかの追加情報があります: https://android.stackexchange.com/questions/35541/why-did-sdcard-turn-into-sdcard-0-with-4-2

于 2013-11-16T11:07:03.913 に答える