Android 片段中的广播接收器未接收到来自服务的意图

Android 片段中的广播接收器未接收到来自服务的意图,android,android-fragments,broadcastreceiver,android-service,Android,Android Fragments,Broadcastreceiver,Android Service,我在片段的onResume方法中有一个广播接收器。在一个服务中,我试图向这个接收器发送广播,但是意图完全消失了。没有收到。我在一个活动中也有一个broadcat接收器,它接收来自该服务的广播,但在那里它工作得很好。这和碎片有关吗 这是相关代码 在你的简历中 broadcastReceiver1 = new BroadcastReceiver() { @Override public void onReceive(Context context, I

我在片段的onResume方法中有一个广播接收器。在一个服务中,我试图向这个接收器发送广播,但是意图完全消失了。没有收到。我在一个活动中也有一个broadcat接收器,它接收来自该服务的广播,但在那里它工作得很好。这和碎片有关吗

这是相关代码

在你的简历中

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

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

基本上,您不应该使用广播进行服务<->活动交互,您应该使用“绑定服务”pattern@pskink,谢谢回复,但很抱歉,我不明白为什么不应该使用它?任何链接等也就足够了。Thnx!!您熟悉“绑定服务”吗?您知道如何实现“绑定本地服务”模式吗?