Android 将整数传递给广播接收器

Android 将整数传递给广播接收器,android,android-broadcast,Android,Android Broadcast,我有一个通过Mqtt客户机从服务器订阅的服务。当收到信息时,我会广播信息和主题。在我的片段中,我声明了一个如下的广播接收器: private final BroadcastReceiver mChatReceiver = new BroadcastReceiver() { int areaCode; private BroadcastReceiver init(int areaCode) { Log.i("====>", "init: Broadc

我有一个通过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);
IntentFilter filter = new IntentFilter("com.packageName.ACTION_SEND_INTEGER");
your_context.registerReceiver(mChatReceiver,filter);
但initareaCode不起作用,在最初的areaCode中是示例2,但我在private BroadcastReceiver initint areaCode中没有得到2。我得了0分


如何将一个整数从private final BroadcastReceiver mChatReceiver类传递到此类?

假设您正在注册一些自定义IntentFilter,如下所示:

    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);
IntentFilter filter = new IntentFilter("com.packageName.ACTION_SEND_INTEGER");
your_context.registerReceiver(mChatReceiver,filter);
按如下方式注册接收器:

    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);
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);

我确实从我的服务发送广播,在我通过putExta发送数据之前,我不会访问我的数据。我的整数是dynamic@sayreskabir对不起,我没有收到您的评论。请您重新措辞好吗?