Prueba con esto, no he leido todo tu mensaje pero por el titulo tal vez necesitas esto.
Saludos.
Código java:
Ver originalSocketThread.stop(); //Para detener
SocketThread.start();// para iniciar
SocketThread.suspend()// Para pausar.
SocketThread.resume();// PAra continuar (despues del pause)
Si alguien sabe sobre estos métodos el porque estan mal empleados y nos aclare bien el porque no es bueno utilizarlos aunque aparentemente funcione.
Saludos.