Могу ли я отправить трансляцию из класса, который не продлевает активность? - PullRequest
2 голосов
/ 27 ноября 2010

У меня есть класс, который реализует Observer.

У меня есть метод, который запускается в этом классе при изменении состояния Obervered. Я хочу отправить рассылку этим методом. Это означает, что моя деятельность может прослушивать эти широковещательные сообщения и что-то делать с данными.

Это то, что я имею до сих пор

public class DoStuff extends BroadcastReceiver implements Observer
{
    public void observe(String message)
    {
        Log.d("TEST", "Inside observe() on DoStuff " + message);

        // Here I want to send out a broadcast to MyActivity with message
        // in the extras
    }

}

Я не могу использовать context.sendBroadcast, потому что у меня нет доступа к контексту приложения здесь, как мне этого добиться?

Заранее спасибо

1 Ответ

0 голосов
/ 27 ноября 2010

Почему вы используете BroadcastReciever для реализации Observer интерфейса?Я думаю, Service или Application являются лучшими кандидатами на тот случай, если вам действительно нужен доступ к Context экземпляру.BroadcastRecievers живы только во время вызова метода onRecieve(), поэтому, с моей точки зрения, нет смысла реализовывать Observer интерфейс с их использованием.

...