美文网首页
WiFi联网失败后背景搜索网络的规则是什么

WiFi联网失败后背景搜索网络的规则是什么

作者: RTThread小师弟 | 来源:发表于2017-10-24 17:30 被阅读0次

    1.如何在启动WiFi P2P连接时配置成做GO还是做GC

    [DESCRIPTION]

    在WiFi P2P的过程中,两台设备会协商看谁做GO(Group Owner)或GC(Group Client);

    协商的方式是在互相发起connect邀请时,带一个0-15之间的变量,变量越大则成为GO的意愿越强;

    mtk平台默认的配置值是7。

    [SOLUTION]

    1、在P2P连接场景中,不论是我们邀请对方还是被对方邀请后点接受,都会调用到WifiP2pManager.Connect(mtk ate工具)方法

    2、这个方法中会带一个WifiP2pConfig的参数下去

    3、WifiP2pConfig的成员变量WifiP2pConfig.groupOwnerIntent定义了成为GO的意愿,并为带给driver

    4、所以需要在调用WifiP2pManager.Connect()方法之前,把想要配置的值(区间0-15)配置好,并传参进去

    2.WiFi联网失败后背景搜索网络的规则是什么

    WiFi联网失败后曾经连接过的网络,即WifiManager.getConfiguredNetworks()取得的网络会被

    disable,若没有其他可用的网络,WiFi Framework会在屏幕点亮时enableAllNetworks(),代码流

    程如下:

    1、WifiStateMachine.java注册了intent监听屏幕状态

    2、当收到Intent.ACTION_SCREEN_ON后,会调用handleScreenStateChanged()中的

    WifiStateMachine.enableAllNetworks()

    3、这个方法会发出event CMD_ENABLE_ALL_NETWORKS

    4、在状态机的SupplicantStartedState会处理这个event,当判断到本次收到消息与上次的间隔超

    过了10分钟,就会调用WifiConfigStore.enableAllNetworks(),10分钟定义在

    MIN_INTERVAL_ENABLE_ALL_NETWORKS_MS

    5、在WifiConfigStore.enableAllNetworks()会调用WifiNative.enableNetwork()来下命令给

    drvier看是否有可用网络

    6、所以需要客制化间隔的话,可以把MIN_INTERVAL_ENABLE_ALL_NETWORKS_MS的数值改小

    相关文章

      网友评论

          本文标题:WiFi联网失败后背景搜索网络的规则是什么

          本文链接:https://www.haomeiwen.com/subject/jnjxpxtx.html