无法通过广播从服务到片段获取数据

时间:2018-05-02 02:09:25

标签: android android-broadcastreceiver

我想接收从服务发送到我的片段的数据。我从我的服务中发送数据:

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

代码编译并运行正常,没有任何错误。

我不知道当我将广播发送到活动时,相同的代码运行良好,给出了期望的结果是什么问题,但是对片段不起作用。谁遇到过同样的问题?

0 个答案:

没有答案