2013-02-18 26 views
-1

我通過重命名模擬器的SDCard文件(sdcard.img - 位於.Android文件夾)來卸載SD卡。儘管SDCard未卸載,Android - file.exists()對/ mnt/sdcard文件夾返回true。 - 仿真器

但是我的應用程序的f.exists()對於SD卡的根文件夾 -/mnt/sdcard仍然返回true(即使它在技術上不應該在那裏)。

這怎麼可能?

編輯:它對位於/ mnt/sdcard/something下的文件返回false。但是它對根文件夾/ mnt/sdcard返回true - 這就是讓我困惑的原因。

+0

你確定它還不在'/ mnt/sdcard'中嗎? – 2013-02-18 19:43:50

+0

嘗試它在真正的設備模擬器玩sdcard時很有趣。 – 2013-02-18 19:44:09

+1

是什麼讓您認爲重命名外部存儲映像文件將「卸載」仿真器中的外部存儲? – CommonsWare 2013-02-18 19:46:57

回答

3

也許這是一個錯誤,或者我可能誤解了api。

都沒有。模擬器只是創建一個新的外部存儲器映像。你沒有「卸載」任何東西。

+0

那麼,你能解釋爲什麼新的File(「/mnt/sdcard/LOST.DIR」)存在();那麼返回false?我想我已經卸載它,因爲如果它仍然安裝,該DIR(以及其他一些默認設置)將存在。我強調了如何存在根sd卡文件夾(),但sdcard/...其他文件不存在。 – Tool 2013-02-18 20:44:31

+0

@Tool:「那麼,你能解釋一下爲什麼新的File(」/mnt/sdcard/LOST.DIR「)存在();那麼返回false? - 因爲您新創建的外部存儲器映像是空的。 「我想我已經卸載了它」 - 提供任何支持您的聲明的任何文檔的任何證明。 – CommonsWare 2013-02-18 20:47:34

+0

我的證明是新的File(「/ mnt/sdcard」)。listFiles()返回null。這意味着它是空的。然而,文件夾本身,/ mnt/sdcard存在,這是什麼困擾我(如果它被卸載?)。你可以在模擬器上自己嘗試一下,我不必去證明它。 – Tool 2013-02-18 20:52:18

相關問題