2017-07-19 17 views
0

私はMqttクライアントによってサーバーから購読するサービスを持っています。メッセージが到着したら、メッセージとトピックをブロードキャストします。ブロードキャスト受信者に整数を渡す

private final BroadcastReceiver mChatReceiver = new BroadcastReceiver() { 
    int areaCode; 

    private BroadcastReceiver init(int areaCode) { 
     Log.i("====>", "init: BroadcastReceiver "); 
     this.areaCode = areaCode; 
     return this; 
    } 


    @Override 
    public void onReceive(Context context, Intent intent) { 

     Log.i("====>", "onReceive: BroadcastReceiver "); 
     //do sth 

    } 
}.init(areaCode); 

しかしinit(areaCode)が動作しないと、元areaCode例2のためですが、私はprivate BroadcastReceiver init(int areaCode)に2を取得していない:私のフラグメントでは私はこのような放送受信機を宣言する。私は0を手に入れました。

private final BroadcastReceiver mChatReceiverクラスから整数をこのクラスに渡すにはどうしたらいいですか?このような

IntentFilter filter = new IntentFilter("com.packageName.ACTION_SEND_INTEGER"); 

登録レシーバー::

答えて

1

は、あなたがこのようないくつかのカスタムIntentFilterに登録されていると言う。このような

your_context.registerReceiver(mChatReceiver,filter); 

トリガあなたの放送受信機と整数を送信します。

Intent intent = new Intent("com.packageName.ACTION_SEND_INTEGER"); 
     intent.putExtra("your_value",123); 
     sendBroadcast(intent); 
+0

私はputExtaによって送信するまで私のデータにアクセスしない私のサービスからsendBroadcastを行います。私の整数は動的です –

+0

@sayreskabir申し訳ありませんがあなたのコメントを取得していませんでしたか? –

関連する問題