2011-12-29 13 views
1

私のサービスを通じて私の活動にBindを通してうまく行きたいと思っています。私はすでに盲目的に配置されていますが、私は自分のアクティビティから私のサービスにしか伝えられません。私のサービスから私のアクティビティに連絡できる最も簡単で簡単な方法は何ですか?バインドによるサービスからアクティビティへの通信?

p.s私が接触したい活動が常に開かれているとは限りません。私はその

おかげ

放送を通じてだろうこれを行うには

答えて

2

一つの道を開いたときにのみご連絡します。次のようにあなたのサービスでは、ブロードキャストを送信することができます

Intent myBroadcast = new Intent(MYCONSTANT); 
    myBroadcast.putExtra("data", "This is a message"); 
    getApplicationContext().sendBroadcast(myBroadcast); 

を次のようにその後の活動にあなたがリスナーを持っているでしょう:

// initialize in constructor 
    private BroadcastReceiver myReceiver = new MyReceiver(); 

    // in onCreate, register the receiver 
    this.registerReceiver(myReceiver, new IntentFilter(Service.MYCONSTANT)); 

    // then have a class to receive the broadcast 
    private class MyReceiver extends BroadcastReceiver { 
     @Override 
     public void onReceive(Context context, Intent intent) { 
     //do stuff   
     } 
} 

は、受信機を登録する方法は他にもありますが、私はこれを見つけます一番簡単な方法です。

+0

これでちょっとした微妙な変化の後、 – arberb

関連する問題