2010-11-27 11 views
2

私はObserverを実装するクラスを持っています。アクティビティを拡張しないクラスからブロードキャストを送信できますか?

私はObervered状態が変わったときにこのクラスでトリガされるメソッドを持っています。このメソッドでブロードキャストを送信したいと思います。これは私の活動がそれらの放送メッセージを聞いて、そのデータで何かをすることができることを意味します。

これは私がここにアプリケーションコンテキストへのアクセスを持っていないので、私はどのように私はこれを達成することができ、context.sendBroadcastを使用することはできません

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 
    } 

} 

これまで持っているものでしょうか?事前に

おかげ

+0

BroadcastRecieverの 'onRecieve'にある' Context'を使うのはなぜですか?申し訳ありませんが、私はまだ試していませんが、それは価値があります。 – st0le

答えて

0

は、なぜあなたはObserverインターフェイスを実装するためにBroadcastRecieverを使用していますか?あなたが実際にContextインスタンスにアクセスする必要がある場合は、ServiceまたはApplicationがより良い候補になると思います。 BroadcastRecieversonRecieve()メソッド呼び出し中にしか生きていないので、私の考え方では、Observerインターフェイスを実装するのは意味がありません。

関連する問題