WiFi联网失败后背景搜索网络的规则是什么
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的数值改小