Я использую Android Studio. У меня есть проект, требующий API версии 11. Эмулятор установлен для Nexus 5 API23 (стандартные настройки по умолчанию).Не удается заставить Android создать папку в открытом внешнем хранилище
Я хочу, чтобы мое приложение записывало простой текстовый файл в место, где я могу вытащить текстовые файлы, созданные на моем компьютере, подключив кабель USB. Поэтому он должен находиться в открытом внешнем хранилище.
По какой-то причине я не могу получить код для создания папки для моих текстовых файлов. Я в паре мой код вниз к этой небольшой самородок в классе «Утилиты» У меня есть:
public static boolean createTheDangFolder(Context c, String fileName, String body) {
boolean saved = true;
//File dir = new File(c.getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS), "MyCustomFolder");
File dir = new File(Environment.getExternalStorageDirectory(), "MyCustomFolder");
if (!dir.exists()) {
saved = dir.mkdirs();
}
return saved;
}
Эта функция всегда возвращает ложь. Если я комментирую строку «Файл», она вернет true, но прокомментированная строка - это память приложения, и я не могу получить доступ к файлам через USB.
У меня есть эта строка в моем файле манифеста:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Я не могу за жизнь мне понять, почему это не работает, и ни один из других вопросов на сайте не дал мне решение, работает.
OK. Поэтому я изменил строку на «Файл dir = новый файл (Environment.getExternalStoragePublicDirectory (Environment.DIRECTORY_DOWNLOADS)», «MyCustomFolder»); но он все еще не работает. Это неправильно? – William
У вас будет меньше проблем, если вы не будете бороться с Android, и просто написали их, чтобы набрать приватную директорию на SD-карте. Позвольте компьютеру захватить оттуда –
Я хотел бы это сделать. Проблема в том, что я не вижу файлы с ПК. У меня есть приложение для просмотра файлов на моем телефоне, и ни тот, ни на ПК через USB не могут видеть файлы в каталоге приложения. – William