温馨提示×

IntentFilter在Fragment中如何使用

小樊
86
2024-07-03 12:03:14
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在Fragment中使用IntentFilter需要在Fragment的onCreateView()方法中注册IntentFilter,并在onDestroyView()方法中注销IntentFilter。以下是一个简单的示例:

public class MyFragment extends Fragment {

    private BroadcastReceiver receiver;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_my, container, false);

        IntentFilter filter = new IntentFilter();
        filter.addAction("com.example.MY_ACTION");

        receiver = new BroadcastReceiver() {
            @Override
            public void onReceive(Context context, Intent intent) {
                // 处理接收到的广播
            }
        };

        getActivity().registerReceiver(receiver, filter);

        return view;
    }

    @Override
    public void onDestroyView() {
        super.onDestroyView();

        getActivity().unregisterReceiver(receiver);
    }
}

在上面的示例中,我们在onCreateView()方法中注册了一个接收指定action的IntentFilter,并创建了一个BroadcastReceiver来处理接收到的广播。在onDestroyView()方法中注销了广播接收器。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读:在Fragment中如何使用ViewModelProvider

0