1.导入依赖
implementation 'org.greenrobot:eventbus:3.0.0'
2.创建一个类,用来携带参数
public class StringEvent {
private final String msg;
public StringEvent(String msg) {
this.msg=msg;
}
public String getMsg() {
return msg;
}
}
3.发送的Activity
EventBus.getDefault().post(new StringEvent("我要发信息"));
4.接收的Activity
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//注册EventBus
if (!EventBus.getDefault().isRegistered(this))
{
EventBus.getDefault().register(this);
}
}
//3.0以后这个方法自己随便写,不过要加@Subscribe这个注解
@Subscribe(threadMode = ThreadMode.POSTING,sticky = true)//true 就是允许接收粘性事件
public void onEventMainThread(StringEvent event){
Toast.makeText(MainActivity.this, "接收的数据:"+event.getMsg(), Toast.LENGTH_SHORT).show();
}
@Override
public void onDestroy() {
super.onDestroy();
//注销
EventBus.getDefault().unregister(this);
}