挺好用的 试了一下在 Activity 和 Service 里面传递消息
public class MyService extends Service {
@Override
public IBinder onBind(Intent intent) {
throw new UnsupportedOperationException("Not yet implemented");
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
//三个参数分别是,消息订阅者(接收者),接收方法名,事件类
EventBus.getDefault().register(this, "test", TestEvent.class);
return super.onStartCommand(intent, flags, startId);
}
public void test(TestEvent event) {
Log.e("e", "e");
}
}
startService(new Intent(MainActivity.this, MyService.class));
findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
EventBus.getDefault().post(new TestEvent());
}
});
register之后就可以post了