2016-05-02 2 views
0

У меня есть код для отправки сообщения от службы к активности. Но я только отправляю сообщение активности, которые создают службу. Если я изменяю активность, и сервис все еще активен, мне нужно получать сообщения в новой активности. как?Связь между Сервисом и любой деятельностью

Я использую этот код:

активность

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 в любом действии? Это работает? Благодаря!

+0

вы можете воспользоваться услугами http://stackoverflow.com/questions/20594936/communication-between-activity-and-service – sasikumar

+0

@sasikumar Я взял мой код по этой ссылке. Из какого ответа вы говорите? –

+0

попробуйте это. http://stackoverflow.com/a/20595215/3981656 –

ответ

0

Посмотрите на EventBus библиотеки:

Также читайте о Observer pattern.

Надеюсь, это поможет!

Смежные вопросы