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

2017-10-24  本文已影响0人  RTThread小师弟

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的数值改小

上一篇下一篇

猜你喜欢

热点阅读