Android Wi-Fi WPS的Push Buttun方式的AP端调用流程

UI层控制命令传送给hostapd的流程:

WifiManager->WifiService->NetworkManagementService->Netd->HostApd 
WifiApWpsActivity::onPreferenceTreeClick()
  |--->openPBCDialog()
        |--->OnClickListener()
              |--->hostApdHandler.sendEmptyMessage(WPS_AP_EVENT_START_PBC);
                     |--->HostApdHandler::handleMessage()
                           |--->WifiManager::hostApdSendWifiCommand("WPS_PBC") ;
                                 |--->WifiService::sendWifiApCommand(command);
                                        |--->NetworkManagementService::sendCommandAccessPoint()
                                               |--->(1)设置权限:CHANGE_NETWORK_STATE和CHANGE_WIFI_STATE
                                               |--->(2)mConnector.execute("softap", "cmd", command);
                                                        |--->先makeCommand再write

CHANGE_NETWORK_STATE表示允许程序改变网络连接状态 CHANGE_WIFI_STATE表示允许程序改变Wi-Fi连接状态
mConnector:类型为NativeDaemonConnector,是用于和netd通信的对象


接下来就进入Netd了。
CommandListener::SoftapCmd::runCommand()
  |--->pthread_create(…… CommandListener::SoftapCmd::Monitor_thread)
        |--->SoftapController::wifi_connect_to_hostapd()
              |--->WPAS::wpa_ctrl_open()
                      |--->(1)socket()
                      |--->(2)bind()
                      |--->(3)connect()
                      |--->(4)fcntl()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值