Some bug

Note that onStart() and onStop() must not block indefinitely. Typically, onStart() would start the threads that responsible for receiving the data and onStop() would ensure that the receiving by those threads are stopped. The receiving threads can also use isStopped(), a Receiver method, to check whether they should stop receiving data.