Android,wifi唤醒

时间:2012-06-23 19:34:04

标签: android widget wifi

当平板电脑通过电线(充电器/ usb)连接时,wifi无法休眠,当设备被拔下时,wifi进入睡眠状态,当我敲击屏幕时,Wifi的图标为蓝色,但我不知道有互联网连接,有时图标是灰色的,我也没有互联网。

我已经编程,如果没有连接并且服务器连接超时我得到错误,这些功能在图标为灰色时有效,但如果图标为蓝色,则小部件挂起,当我进入时它再次起作用关掉wifi,有什么不对? 我想如果有蓝色图标它认为我有连接到互联网,但我接下来检查服务器是否响应(3秒),它应该工作。但它一直在思考,直到关闭wifi。

在手机上我有2.2而我没有任何麻烦,在平板电脑上我已经4.0.3

wifi = conn.getNetworkInfo(ConnectivityManager.TYPE_WIFI);      
mobile = conn.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
        if (wifi.isConnected() || mobile.isConnected()) {
            try {
                URL url = new URL(uri);
                HttpURLConnection urlc = (HttpURLConnection) url.openConnection();
                urlc.setConnectTimeout(3000);
                urlc.connect();
                if (urlc.getResponseCode() == 200) { 
                    return true;
                } else { 
                    return false;
                }
            } catch (IOException e) {

                return false;
            }
        } else {
            return false;
        }

1 个答案:

答案 0 :(得分:0)

Android 4.0采用了更积极的节能方法,可能会让你感到困惑。 我只是重新启用wifi ...连接设置需要3到5秒才能获得新的DHCP租约。如果它已经知道你是谁(即IP),它会更快。可能是一个组合 Android休眠和你的AP都设置为过于积极地发布租约(TTL)。你遇到什么平板电脑和wifi路由器?

 WifiManager wifi;
 wifi = (WifiManager) this.getSystemService(Context.WIFI_SERVICE);
 WifiInfo wifiInfo = wifi.getConnectionInfo();  // extra if you want connection info
 wifi.setWifiEnabled(true);  // turn it on , if its already on no harm.