2017-07-19 36 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类传递给这个类?

回答

1

说你是注册了一些自定义IntentFilter这样的:

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

登记接收这样的:

your_context.registerReceiver(mChatReceiver,filter); 

触发你的广播接收器像这样和发送一个整数:

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

我从我的服务中发送广播,在我通过putExta发送它之前,我无法访问我的数据。我的整数是动态的 –

+0

@sayreskabir对不起,我没有得到您的评论。请您再说一遍吗? –

相关问题