NetworkController 是一个所有网络信号图标的综合逻辑判断,比如手机,以太网,还有WIFI,蓝牙等信号图标都在能看到,废话不多说;
由于文件过于庞大,在这单独讲以太网是如何实现的。
1、在APP上层里,以太网的EthernetStateTracker类中经过底层上报的信息(如:网络断开;网络连接;发线网卡),然后将上报的信息通过广播的形式发送到NetworkController 里去。
IntentFilter filter = new IntentFilter();
filter.addAction(WifiManager.RSSI_CHANGED_ACTION);
filter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION);
filter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION);
filter.addAction(EthernetManager.ETHERNET_STATE_CHANGED_ACTION); //以太网广播
public void onReceive(Context context, Intent intent) {