- 博客(11)
- 问答 (1)
- 收藏
- 关注
原创 【Android 11 framework学习之热点 关闭】
状态机切换,调用StartedState.exit,首先调用内部封装的stopSoftAp,还有一些注销回调操作省略了,然后通知APP状态变更为WifiManager.WIFI_AP_STATE_DISABLED,复位一些变量。开启之后mIfaceIsUp肯定为true的,于是广播ap状态由WifiManager.WIFI_AP_STATE_ENABLED变更为WifiManager.WIFI_AP_STATE_DISABLING。打开对应请求的功能,这里对应的应该是TETHERING_WIFI。
2023-12-31 00:15:00
775
2
原创 【Android 11 framework学习之热点 打开】
step15之后SoftApStateMachine状态机进入StartedState,进入enter,比较重要的是此时会设置一个默认600000ms(10min)的timeout超时机制,如果此时间段一直没有设备连接该AP,就会自动关闭AP。ActiveModeManager是SoftApManager的基类,实际调用到SoftApManager.start,状态机发送SoftApStateMachine.CMD_START消息。打开对应请求的功能,这里对应的应该是TETHERING_WIFI。
2023-12-24 00:15:00
1408
2
原创 【Android 11 framework学习之wifi 断开连接】
由于在开启wifi时,向ISupplicantStaIface注册了回调类SupplicantStaIfaceHalCallback其父类为SupplicantStaIfaceCallbackImpl,再看SupplicantStaIfaceCallbackImpl的回调方法onDisconnect。连接之后状态机为ConnectedState,接下来处理此消息,由于ConnectedState对消息CMD_DISCONNECT没有处理,将交给其父状态L2ConnectedState处理此消息。
2023-12-19 00:15:00
695
1
原创 【Android 11 framework学习之wifi 连接】
再次回到onStateChanged回调方法中,当最新的状态newSupplicantState == SupplicantState.COMPLETED时,也就是连接完成时,会调用 WifiMonitor.broadcastNetworkConnectionEvent 方法,会发送一个 NETWORK_CONNECTION_EVENT 消息,这时ClientModeImpl仍处于DisconnectedState状态。上述完成以后开始connectToNetwork。(不记得的话可以回头看看)
2023-12-18 00:15:00
1598
原创 【Android 11 framework学习之wifi 扫描】
在前面调用WificondScannerImpl中的startSingleScan方法时,将一个LastScanSettings对象赋值给了mLastScanSettings,在mLastScanSettings内部有一个WifiNative.ScanEventHandler类的回调对象,其实现类为WifiScanningServiceImpl中的ScanEventHandler。方法前面部分确定了扫描类型、通道的扫描频率和隐藏热点省略,然后调用了IWifiScannerImpl接口的scan方法。
2023-12-15 00:15:00
2179
原创 【Android 11 framework学习之wifi 关闭】
然后继续进入StartedState的退出方法,首先是将wifi状态机切到DISABLED_MODE,然后因为mClientInterfaceName为之前打开的wifi的Iface,所以暂时还不为空,进入到WifiNative.teardownInterface()中将开启的Iface关闭,此时wifi其实已经关闭了。由于之前是正常打开,所以接口是起来的mIfaceIsUp为true,会对外发送一个wifi状态广播,由WIFI_STATE_ENABLED变换为WIFI_STATE_DISABLING。
2023-12-13 00:15:00
1340
1
原创 【Android 11 framework学习之wifi 开启】
上面这里可以看到,先将ClientModeImpl状态机切换了,然后继续调用了updateConnectModeState()对外发送了一个广播,表示当前的wifi状态处于WifiManager.WIFI_STATE_ENABLED状态,至此ClientModeManager对CMD_SWITCH_TO_CONNECT_MODE消息处理完成了。更新wifi的状态,并且对外发送广播,这不正是发送的wifi开启或关闭状态的广播么 WifiManager.WIFI_STATE_CHANGED_ACTION。
2023-12-11 14:38:44
1558
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人