NetworkNominator是 WifiNetworkSelector 的内部类,其内部对象记录在 mNominators 中,通过 WifiNetworkSelector 的 registerNetworkNominator 方法注册在 WifiInjector 的构造过程中注册了三个 NetworkNominator 对象:
SavedNetworkNominator:用于保存的网络
NetworkSuggestionNominator:用于提供最高可用性候选建议
ScoredNetworkNominator:用于通过评分机制选择网络连接,用到了 NetworkScoreManager 用于管理网络评分(Android 13中已经取消)
代码如下:
packages/modules/Wifi/service/java/com/android/server/wifi/WifiInjector.java
// Register the various network Nominators with the network selector.
mWifiNetworkSelector.registerNetworkNominator(mSavedNetworkNominator);
mWifiNetworkSelector.registerNetworkNominator(mNetworkSuggestionNominator);
packages/modules/Wifi/service/java/com/android/server/wifi/WifiNetworkSelector.java
119 private final List<NetworkNominator> mNominators = new ArrayL