屏幕关闭时,Android连接到Wi-Fi AP

时间:2015-03-23 02:47:43

标签: android connection android-wifi screen-off

我正在开发一个需要在后台服务中连接到Wi-Fi的项目,该设备在屏幕关闭时运行。 连接代码如下:

    public boolean connect_android(String ssid) {
    List<WifiConfiguration> list = wifiManager.getConfiguredNetworks();
    boolean find = false;
    for( WifiConfiguration i : list ) {
        if(i.SSID != null && i.SSID.equals("\"" + ssid + "\"")) {
             wifiManager.enableNetwork(i.networkId, true);
             wifiManager.reconnect();
             find = true;
             break;
        }           
     }

在后台运行服务中执行连接代码后,设备永远不会成功连接到Wi-Fi,直到屏幕打开。我记录了请求者状态,它处于完整状态。正如谷歌文档所说:

此状态表示请求方已完成对关联阶段的处理,并且数据连接已完全配置。但请注意,可能没有与该连接关联的任何IP地址。通常,此时需要发送DHCP请求以获取地址。

因此,我可以得出结论,当屏幕打开时,发送DHCP请求,设备接收IP并且连接成功完成。但谁负责发送DHCP,wpa_supplicant或Android框架,是否有任何关于此的文档?如何在不打开屏幕的情况下连接到Wi-Fi AP?提前谢谢!

1 个答案:

答案 0 :(得分:1)

也许是因为您的设备在屏幕显示(设置 - &gt;无线和网络 - &gt; WiFi设置 - &gt;(菜单按钮)高级 - &gt; Wifi睡眠政策时)使用wifi功能 您的应用无法连接到网络