2012-09-29 2 views
2

Я создал файл в SD-карте, используя код ниже:Android карты SD созданный файл не виден

File outputFile = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator + "test.jpg"); 
outputFile.createNewFile(); 
OutputStream outputStream = new FileOutputStream(outputFile); 
mBitmap.compress(Bitmap.CompressFormat.JPEG, 95, outputStream); 
outputStream.flush(); 
outputStream.close(); 

Когда я пытаюсь увидеть это содержимое файла просмотра SD карты через Проводник Windows в моем компьютере (телефон подключен через USB), отображаются все папки и файлы SD-карты, кроме моих. Astro отображает файл, но не как миниатюру.

Странно, что это происходит только с одним из моих телефонов (телефон Samsung Galaxy X), и если я перезагружу этот телефон, файл отображается как в Проводнике Windows, так и в виде миниатюры в Astro.

Может ли быть что-то не так или нет в коде, который я написал?

Благодаря

+0

Решение в этом посте: [http://stackoverflow.com/questions/12654432/android-sd-card-created-file-not-visible][1] [1]: http://stackoverflow.com/questions/12654432/android-sd-card-created-file-not-visible – Zekitez

ответ

1

файлы изображений должны быть явно индексируются для того, чтобы появиться в галерее. Я полагаю, что другие приложения могут использовать один и тот же механизм для получения миниатюры. Вот код, который будет сканировать новый медиа-файл, сразу после его написала:

Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE); 
Uri uri = Uri.fromFile(outputFile); 
intent.setData(uri); 
sendBroadcast(intent); 
+0

Да, отправка этой трансляции решила проблему. Огромное спасибо! – Carlos

0

Может быть, есть некоторое кэширование Windows, позади, чтобы не постоянно опрашивать список каталогов. Попробуйте нажать F5 в проводнике, чтобы увидеть, появляется ли файл. В любом случае файл должен быть видимым в проводнике файлов Eclipse (в DDMS Perspective).

+0

Пробовал F5 (обновить), но не работал; файл видим в DDMS. благодаря – Carlos

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