2012-03-22 1 views
1

Я создаю каталог и текстовый файл на SD-карте в одном из моих приложений, потому что я хочу, чтобы иметь возможность переместить его на свой компьютер для анализа , Но я не могу найти папку или файл, который я создаю на своей SD-карте, используя браузер файлов на своем компьютере. Я МОГУ найти и прочитать файл с помощью диспетчера файлов телефонов, но не используя браузер файлов в окнах. Итак, файл и папка успешно созданы, и я могу записать в файл, я также могу найти и прочитать файл с помощью диспетчера файлов на своем телефоне, но я не могу найти ни один каталог или файл с помощью моего компьютера.Не удается найти папку или файл, созданный с помощью приложения Android с файлом windows exlorer

У меня есть разрешение на использование приложения, позволяющее ему записываться во внешнее хранилище.

Это код, который я использую для создания файла и каталога.

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-карту, чтобы я мог перенести их на свой компьютер.

Я полностью озадачен этой проблемой, поскольку все проведенные мной исследования указывают на то, что все остальные делают то же самое.

+0

Вы делаете это правильно, убедитесь, что у вас есть доступ к правой SDCard в окнах. Вы можете увидеть файл в оболочке adb или вы можете вытащить его с помощью adb вместо Windows Explorer? – bbedward

+0

Это не решение вашей проблемы, но никогда не используйте конкатенацию строк для путей. Используйте Path.Combine() - http://stackoverflow.com/questions/412380/combine-paths-in-java –

+0

@bbedward Хорошо, я попытался переключиться на ubuntu, но я все еще не мог найти файлы, просто подключающие мои телефон с USB-кабелем. Поэтому в ярости я разорвал свой телефон и поместил SD-карту в адаптер USB, и тогда я смог его найти. Имеет ли это какое-то отношение к разрешениям или что-то в этом роде? – mpals

ответ

5

Если ваше устройство работает под управлением Android 3.0 или более поздней версии, вам необходимо использовать MediaScannerConnection, чтобы проиндексировать ваш недавно созданный файл, прежде чем он появится в проводнике файлов разработчика.

Точнее, вновь созданный файл должен быть проиндексирован MediaStore. В конечном итоге это произойдет по другим причинам (например, перезагрузка устройства). Тем не менее, вам лучше использовать scanFile() по телефону MediaScannerConnection, чтобы ускорить его.

I blogged about this last summer.

0

Иногда MediaScannerConnection распознает папку как файл неизвестного типа, поэтому попробуйте создать другую папку внутри оригинала, чтобы избежать этой проблемы. Я столкнулся с той же проблемой, и я использую этот метод в comment

И это работает для меня.

Смежные вопросы