最近Handler玩嗨了,突发奇想搞一个全局的handler,苦思冥想3三小时,终于搞定!
先在Application中创建Handler和用于回调的接口,并且打印这个接口的地址值(后面测试用)
//Application.class private static Handler mHandler = new Handler(Looper.getMainLooper()) { @Override public void handleMessage(Message msg) { super.handleMessage(msg); mListener.heandleMessage(msg); System.out.println("mListener 地址值==== " + mListener); } }; private static HandlerListener mListener; public static void setOnHandlerListener(HandlerListener listener) { mListener = listener; } public static HandlerListener getListener(){ return mListener; } public interface HandlerListener { void heandleMessage(Message msg); }
在Application中模拟创建子线程发送消息,一般都是在网络请求后发送消息通知Activity修改UI
//Application.class @Override public void onCreate() { super.onCreate(); mContext = this; new Thread() { @Override