I have a worker thread that sits in the background, processing messages. Something like this:
class Worker extends Thread {
public volatile Handler hand
class WorkerThread extends Thread {
private Exchanger mStartExchanger = new Exchanger();
private Handler mHandler;
public Handler getHandler() {
return mHandler;
}
@Override
public void run() {
Looper.prepare();
mHandler = new Handler();
try {
mStartExchanger.exchange(null);
} catch (InterruptedException e) {
e.printStackTrace();
}
Looper.loop();
}
@Override
public synchronized void start() {
super.start();
try {
mStartExchanger.exchange(null);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}