我正在创建从活动到片段的发送广播。但是在我的情况下,接收方呼叫了3次,因为我只发送一次广播。请帮助
在这里,我正在片段中注册广播
@Override
public void onResume() {
super.onResume();
getActivity().registerReceiver(broadcastReceiver, new IntentFilter("example.com"));
}
@Override
public void onPause() {
super.onPause();
getActivity().unregisterReceiver(broadcastReceiver);
}
还有片段中的接收者
BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// Here I am receiving the data and want to update the list in
//my fragment
};
发送广播
Intent intent = new Intent("example.com");
intent.putExtra("data","any_data");
sendBroadcast(intent);
答案 0 :(得分:0)
您必须始终将Action设置为Intent
,如下所示,
Intent intent = new Intent();
intent.setAction("action_type");
sendBroadcast(intent);
然后在您的接收器中添加以下行:
BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
if(intent.getAction("action_type")) {
// Write your code here now.
}
};
希望它能起作用。