Why my Android app blocks when trying to connect a socket?

view full story

http://stackoverflow.com – I have very simple code that is trying to open a socket using JavaMail on Android, like this: public boolean connect() { try { store_ = session_.getStore("imap"); store_.connect(email_.host, email_.user, email_.pass); folder_ = store_.getDefaultFolder(); folder_ = folder_.getFolder("inbox"); folder_.open(Folder.READ_ONLY); } catch(Exception e) { disconnect(); return false; } return true; } public void disconnect() { if (folder_ != null) { try { folder_.close(false); } catch(Ex (HowTos)