Android EventBus 传递消息

490 查看

挺好用的 试了一下在 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了