我想接收从服务发送到我的片段的数据。我从我的服务中发送数据:
eno two three ruof five
在我的片段中,我使用了广播接收器:
Intent i1 = new Intent("com.iot.bcrec.randomreceive");
i1.putExtra("values",String.valueOf(value));
//Here value is the data i want to pass
sendBroadcast(i1);
通过检查日志值,我发现我的片段没有通过广播接收任何值。在调试我的代码时,我没有找到任何日志。 我已经注册了我的广播:
BroadcastReceiver qReciever = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String s1 = intent.getStringExtra("values");
float flag = Float.parseFloat(s1);
Log.i(TAG,"fragment = "+s1);
//method which uses the received data
addEntry(flag);
}
};
取消注册:
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup
container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_layout, container,
false);
....
IntentFilter filter = new IntentFilter("com.iot.bcrec.randomreceive");
LocalBroadcastManager.getInstance(getActivity()).registerReceiver
(qReciever,filter);
return view;
}
代码编译并运行正常,没有任何错误。
我不知道当我将广播发送到活动时,相同的代码运行良好,给出了期望的结果是什么问题,但是对片段不起作用。谁遇到过同样的问题?