How to create a Looper thread, then send it a message immediately?

后端 未结 4 1727
离开以前
离开以前 2020-11-30 17:47

I have a worker thread that sits in the background, processing messages. Something like this:

class Worker extends Thread {

    public volatile Handler hand         


        
4条回答
  •  时光说笑
    2020-11-30 18:13

        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();
                        }
                }
        }
    

提交回复
热议问题