Handler跨activity传递

1.在MyApplication中添加Handler的set and get 

public class MyApplication extends Application {
    public static MyApplication instance;
    private Handler mHandler;

    public static MyApplication getInstance() {
        return instance;
    }

    @Override
    public void onCreate() {
        super.onCreate();
        instance = this;
    }

    public Handler getmHandler() {
        return mHandler;
    }

    public void setmHandler(Handler mHandler) {
        this.mHandler = mHandler;
    }
}

2.添加name属性

android:name=".utils.MyApplication"

3.在一个类中setHandler

public Handler handler = new Handler(new Handler.Callback() {
        @Override
        public boolean handleMessage(Message msg) {
//          处理逻辑
            return false;
        }
    });


...
...
...
final MyApplication instance = MyApplication.getInstance();
instance.setmHandler(handler);

4.在另一个类中getHandler然后send

 Message getChatMessage = new Message();
 getChatMessage.what = ChatActivity.MSG_REC2;
 getChatMessage.obj = o;
 final MyApplication instance = MyApplication.getInstance();
 instance.getmHandler().sendMessage(getChatMessage);

to be continued

你可能感兴趣的:(Handler跨activity传递)