Android 片段中的广播接收器未接收到来自服务的意图
我在片段的onResume方法中有一个广播接收器。在一个服务中,我试图向这个接收器发送广播,但是意图完全消失了。没有收到。我在一个活动中也有一个broadcat接收器,它接收来自该服务的广播,但在那里它工作得很好。这和碎片有关吗 这是相关代码 在你的简历中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
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!!您熟悉“绑定服务”吗?您知道如何实现“绑定本地服务”模式吗?