2013-02-18 1 views
-1

Я отключил SD-карту, переименовав файл SDCard (sdcard.img - находящийся в папке Android) для эмулятора.Android - file.exists() возвращает true для папки/mnt/sdcard, даже если SDCard размонтирован? - Эмулятор

Но f.exists() по-прежнему возвращает true для корневой папки SD-карты -/mnt/sdcard (хотя ее технически не должно быть).

Как это возможно?

Редактировать: он возвращает false для файлов, расположенных под/mnt/sdcard/something. Но он возвращает true для корневой папки/mnt/sdcard - вот что меня пугает.

+0

Вы уверены, что он еще не находится в '/ mnt/sdcard'? –

+0

Попробуйте в реальном эмуляторе устройства, играя смешно, когда дело доходит до sdcard. –

+1

Что заставляет вас думать, что переименование файла внешнего хранилища будет «размонтировать» внешнее хранилище в эмуляторе? – CommonsWare

ответ

3

Возможно, это ошибка, или я, возможно, неправильно понял api.

Ни то, ни другое. Эмулятор просто создал новое внешнее хранилище. Вы ничего не «размонтировали».

+0

Ну, не могли бы вы объяснить, почему новый File ("/mnt/sdcard/LOST.DIR"). Exists(); return false then? Я думаю, что я размонтировал его, потому что, если он все еще установлен, этот DIR (и несколько других стандартных по умолчанию) будет существовать. Я подчеркнул, что существует корневая папка с SD-картой(), но у sdcard/... других файлов нет. – Tool

+0

@Tool: «Ну, тогда вы можете объяснить, почему новый File (« /mnt/sdcard/LOST.DIR ») существует(), а затем возвращает false?» - потому что ваше вновь созданное внешнее хранилище пуст. «Я думаю, что я его отключил» - предлагайте какие-либо доказательства какой-либо документации в любом месте, которое поддерживает ваши претензии. – CommonsWare

+0

Мое доказательство заключалось в том, что новый файл ("/ mnt/sdcard"). ListFiles() возвращает null. Это означает, что он пуст. Однако сама папка/mnt/sdcard существует, что меня беспокоит (если оно отключено?). Вы можете попробовать его самостоятельно на эмуляторе, мне не нужно его проецировать. – Tool

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