简单构造一个handlerThread,并得到其handler:
/**
* Created by fangyc on 2018/6/6.
*/
public class HandlerThreadCreator {
private HandlerThread mHandlerThread;
private Handler mHandler;
private void init(String name) {
mHandlerThread = new HandlerThread(name);
mHandlerThread.start();
mHandler = new Handler(mHandlerThread.getLooper());
}
private void init2(String name, final Handler handler) {
mHandlerThread = new HandlerThread(name);
mHandlerThread.start();
mHandler = new Handler(mHandlerThread.getLooper()) {
@Override
public void handleMessage(Message msg) {
handler.handleMessage(msg);
}
};
}
public static Handler getHandler(String name) {
HandlerThreadCreator h = new HandlerThreadCreator();
h.init(name);
return h.mHandler;
}
public static Handler getHandler(String name, Handler handler) {
HandlerThreadCreator h = new HandlerThreadCreator();
h.init2(name, handler);
return h.mHandler;
}
}
使用如下:
private void invoke() {
Handler aHandler = HandlerThreadCreator.getHandler("a");
}





网友评论