I tried to detect secondary external storage(SD card) unmounted using broadcast receiver, and if so start running a thread and finish it until SD card is mounted. It works fine occasionally. however, when I try to know if directory exists or not, it sometimes returns true even if SD card is unmounted! Why does it happen? Is it because of the cache memory or something else? I really have no idea how I should solve this problem.