我已按照following link与本地wifi连接。它工作完美。我能够连接到我的本地WiFi。检索WiFi连接状态(Android)
但是,我真的想要wifi的当前状态,我使用下面的代码来获取wifi的状态。但不幸的是,我只能得到'DISABLED','ENABLED'和'SCANNING'的状态,我真的想要接受其他中间状态。
你能告诉我我做错了什么吗?
public class ConnectionChangeReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
NetworkInfo info = intent.getParcelableExtra(ConnectivityManager.EXTRA_NETWORK_INFO);
Message msg = new Message();
msg.what = 5;
Bundle b = new Bundle();
String sStatus = "UnKnown";
switch(info.getDetailedState()){
case AUTHENTICATING:
sStatus = "Authenticating...";
break;
case CONNECTED:
sStatus = "Connected";
break;
case CONNECTING:
sStatus = "Connecting...";
break;
case DISCONNECTED:
sStatus = "Disconnected";
break;
case DISCONNECTING:
sStatus = "Disconnecting...";
break;
case FAILED:
sStatus = "Failed";
break;
case IDLE:
sStatus = "Idle";
break;
case OBTAINING_IPADDR :
sStatus = "Obtaining IP Address...";
break;
case SCANNING:
sStatus = "Scanning...";
break;
case SUSPENDED:
sStatus = "Suspended";
break;
}
b.putString("status", sStatus);
msg.setData(b);
mHandler.sendMessage(msg);
}
}
我注册的广播接收机按以下方式
IntentFilter filter = new IntentFilter(
ConnectivityManager.CONNECTIVITY_ACTION);
registerReceiver(networkStateReceiver, filter);
这可能是其他的可能性永远不会被你的设备上执行报告 - 它可能不会理会报告具有这种粒度。我认为你从来没有看到你在那里默认的“未知”? – 2012-04-26 06:29:44