服务与任何活动之间的通信

时间:2016-05-02 05:31:02

标签: android android-activity android-service

我有一个代码,用于从服务到活动发送消息。但我只向创建服务的活动发送消息。 如果我更改活动并且服务仍然有效,我需要在新活动中收听消息。如何?

我使用此代码:

活动

public static Handler messageHandler = new MessageHandler();

...


    public static class MessageHandler extends Handler {
        @Override
        public void handleMessage(Message message) {
            int state = message.arg1;
            switch (state) {
            case HIDE:
                progressBar.setVisibility(View.GONE);
                break;
            case SHOW:
                progressBar.setVisibility(View.VISIBLE);
                break;
            }
        }
    }

然后,我创建了传递处理程序的服务。

Intent startService = new Intent(context, SERVICE.class)
startService.putExtra("MESSENGER", new Messenger(messageHandler));
context.startService(startService);

更改活动时,我停止接收消息。我可以在任何活动中创建一个messageHandler类吗?那有用吗?谢谢!

1 个答案:

答案 0 :(得分:0)

查看EventBus库:

另请阅读Observer pattern

希望它有所帮助!