【发布时间】:2009-11-28 07:16:38
【问题描述】:
这就是我想做的:
=> 如果 WiFi 已启用且处于活动状态,则启动一个意图(实际上它是一个获取其内容的 WebView=>我的应用在网络上的说明)
=> 如果不是,那么我将启动另一个意图,这样我就不会显示带有“网页不可用...http://www.mywebsite.com 的网页可能暂时关闭或可能已移动.. 。”
我最初坚持使用
如果(wifi.isWifiEnabled())
但这并不能说明 Wifi 连接是否处于活动状态。它只说用户打开了开关。设备可能已连接,也可能未连接...这是正确的吗?
然后我尝试使用:
如果 (wifi.getConnectionInfo().getSSID()!= null)
但我注意到即使连接已丢失或已禁用,它也会返回一个字符串...?
那我该怎么办呢?
wifi = (WifiManager)getSystemService(Context.WIFI_SERVICE);
Intent intent_instructions;
if (wifi.getConnectionInfo().getSSID()!= null){
Log.i("Hub", "WiFi is enabled AND active !");
Log.i("Hub", "SSID = "+wifi.getConnectionInfo().getSSID());
intent_instructions = new Intent(this, Instructions.class);
}else{
Log.i("Hub", "NO WiFi");
intent_instructions = new Intent(this, Instructions_No_WiFi.class);
}
this.startActivity(intent_instructions);
在启动意图之前是否有更通用的方法来测试设备是否已连接到互联网?无论是通过 Wifi、3G 等...
提前感谢您的帮助。
【问题讨论】:
-
WIFI_STAT_ENABLED 仅表示 WIFI 无线电已打开。这与您是否实际连接到接入点无关。
-
确实如此,你有什么建议?
标签: android wifi internet-connection