Android 将整数传递给广播接收器
我有一个通过Mqtt客户机从服务器订阅的服务。当收到信息时,我会广播信息和主题。在我的片段中,我声明了一个如下的广播接收器: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
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对不起,我没有收到您的评论。请您重新措辞好吗?