Я создаю каталог и текстовый файл на SD-карте в одном из моих приложений, потому что я хочу, чтобы иметь возможность перенести его на свой компьютер для анализа. Но я не могу найти папку или файл, который я создаю на своей SD-карте, используя браузер файлов на своем компьютере. Я МОГУ найти и прочитать файл с помощью диспетчера файлов телефонов, но не используя браузер файлов в окнах. Таким образом, файл и папка успешно созданы, и я могу записать в файл, я также могу найти и прочитать файл с помощью диспетчера файлов на своем телефоне, но я не могу найти ни один каталог или файл с помощью моего компьютера.
У меня есть разрешение на использование приложения для записи на внешнее хранилище.
Это код, который я использую для создания файла и каталога.
String fileName = "testFil.txt";
String path = Environment.getExternalStorageDirectory().getAbsolutePath()+"/PulsApp";
File appDirectory = new File(path);
appDirectory.mkdirs();
File file = new File(path, fileName);
try {
file.createNewFile();
} catch (IOException e) {
}
Кто-нибудь знает, в чем проблема и как это исправить? Мне действительно нужно иметь возможность записывать файлы на мою SD-карту, чтобы я мог перенести их на свой компьютер.
Я полностью озадачен этой проблемой, поскольку все проведенные мной исследования указывают на то, что все остальные делают то же самое.
Если ваше устройство работает под управлением Android 3.0 или выше, вам также необходимо использовать MediaScannerConnection
для индексации вашего вновь созданного файла, прежде чем он появится в MediaScannerConnection
файлов разработки.
Точнее, вновь созданный файл должен быть проиндексирован MediaStore
. В конечном итоге это произойдет по другим причинам (например, перезагрузка устройства). Тем не менее, вам лучше использовать scanFile()
в MediaScannerConnection
чтобы это произошло быстрее.
Иногда MediaScannerConnection распознает папку как файл неизвестного типа, поэтому попробуйте создать другую папку внутри оригинала, чтобы избежать этой проблемы. Я встретил ту же проблему, и я использую метод в комментарии
И это работает для меня.