Создание папки программно на Xoom - PullRequest
0 голосов
/ 02 июня 2011

Xoom не имеет рабочего слота для SD, поэтому Moto решила перенаправить вызовы на внешнее хранилище на внутреннее хранилище:

String path = Environment.getExternalStorageDirectory().getPath() + "/newfolder/";

Приведенная выше строка возвращает путь к внутреннему хранилищу в Xoom и к SD-карте на моем Droid.

Однако у меня проблемы с записью этого пути в Xoom. Это как если бы оно было защищено от записи, или у меня нет разрешения.

Этот код создает папку на SD-карте моего Droid, но не в хранилище моего Xoom:

File file = new File(path);
file.mkdir();

Одна мысль заключалась в том, что, поскольку Xoom только «подделывает» то, что является внешним хранилищем, возможно, приложению также необходимо разрешение «внутреннее хранилище», но это не помогло.

Ответы [ 2 ]

1 голос
/ 03 июня 2011

в моем xoom это работает так:

    private File path;
    path = new File(Environment.getExternalStorageDirectory().toString() + "/audio");
    path.mkdirs();

mkdirs (с окончанием s), потому что тогда автоматически создаются отсутствующие каталоги на пути к конечному пути.* Вы уверены, что у вас есть это в вашем AndroidManifest?

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
0 голосов
/ 07 сентября 2011

У меня была такая же проблема в моем Nexus S под управлением Android 2.3.4, после игры с кодом stk я смог создать папку.

Вот окончательный код:

File root = new File(Environment.getExternalStorageDirectory().toString()+"//MyFolder");
root.mkdirs();

Просто замените "/ audio" на "// audio" в коде stk, и это сработало для меня.

У вас должно быть разрешение на запись в ваш AndroidManifest под тегом.

...