片段中的广播接收器不接收来自服务的意图

时间:2015-10-22 20:01:26

标签: android android-fragments broadcastreceiver android-service

我的片段的onResume方法中有一个广播接收器。在一项服务中,我试图向这个接收器发送广播,但意图只是消失了。它没有收到。我在一个活动中也有一个broadcat接收器,它从这个服务接收广播,但它工作正常。是否与片段有关。

这是相关代码

片段onResume

broadcastReceiver1 = new BroadcastReceiver() {
            @Override
            public void onReceive(Context context, Intent intent) {
                String action = intent.getAction();
//                String id="";
                if (action.equalsIgnoreCase("callback_tab")) {
                    if (intent.hasExtra("id") && intent.getStringExtra("id").length() > 0) {
                        //Do work
                    }
                }
            }
        };

        IntentFilter intentFilter1 = new IntentFilter();
        // set the custom action
        intentFilter.addAction("callback_tab");
        // register the receiver
        getActivity().registerReceiver(broadcastReceiver1, intentFilter1);

取消注册是在onPause()中完成的,就像这样

    getActivity().unregisterReceiver(broadcastReceiver1);

服务的意图是这样发送的

Intent broadcast1 = new Intent("callback_tab");
broadcast.putExtra("id", id);
sendBroadcast(broadcast1);

如果有人能提供暗示或帮助,那就太好了。谢谢!!

0 个答案:

没有答案