知乎专栏 |
定义广播接收类
private BroadcastReceiver receiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { //这里写需要的业务逻辑 } };
注册广播
@Nullable @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { IntentFilter intentFilter = new IntentFilter(); intentFilter.addAction("main.screen"); getActivity().getApplicationContext().registerReceiver(receiver, intentFilter); binding = FragmentPictureBookStoryFullscreenBinding.inflate(inflater, container, false); return binding.getRoot(); }
广播销毁
@Override public void onDestroy() { super.onDestroy(); getActivity().getApplicationContext().unregisterReceiver(receiver); }