欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Handler跨activity传递

程序员文章站 2022-07-14 16:43:52
...

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