Difference between registerDefaultNetworkCallback and registerNetworkCallback

后端 未结 6 1950
不知归路
不知归路 2021-01-01 18:30

I came across registerDefaultNetworkCallback and registerNetworkCallback while updating my Android app for API 28.

Having reviewed the documentation, I cannot find t

6条回答
  •  鱼传尺愫
    2021-01-01 19:09

    The most important difference was highlighted by always-learning. My answer will be the same, but I will try to explain it in a different way.

    The device can be connected to a few networks simultaneously(WiFI and mobile for example). Android chooses one of the connected networks as the default so that default network is used for requests.

    The difference is registerNetworkCallback notifies about all connected networks, and registerDefaultNetworkCallback notifies about default netowork.

    This is why you can't pass filter in registerDefaultNetworkCallback - it doesn't make sense to filter one chosen default network, but it does make sense for registerNetworkCallback because there are can be many available networks.

    You can find a very good example on Android Developer that explains which callbacks do you get in registerDefaultNetworkCallback and registerNetworkCallback

提交回复
热议问题