wifiManager的setWifiEnabled 是异步的吗? 本帖最后由 tianyaxiao2 于 2013-02-22 09:47:38 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 public int getWifiState ()ReturnsOne of WIFI_STATE_DISABLED, WIFI_STATE_DISABLING, WIFI_STATE_ENABLED, WIFI_STATE_ENABLING, WIFI_STATE_UNKNOWNpublic boolean isWifiEnabled ()Returnstrue if Wi-Fi is enabled 你没看懂我的意思 我是希望在wifi状态改变时 能触发某个操作 接收下面这些intent 183 mFilter = new IntentFilter(); 184 mFilter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION); 185 mFilter.addAction(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION); 186 mFilter.addAction(WifiManager.NETWORK_IDS_CHANGED_ACTION); 187 mFilter.addAction(WifiManager.SUPPLICANT_STATE_CHANGED_ACTION); 188 mFilter.addAction(WifiManager.CONFIGURED_NETWORKS_CHANGED_ACTION); 189 mFilter.addAction(WifiManager.LINK_CONFIGURATION_CHANGED_ACTION); 190 mFilter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION); 191 mFilter.addAction(WifiManager.RSSI_CHANGED_ACTION); private final BroadcastReceiver mReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if (WifiManager.WIFI_STATE_CHANGED_ACTION.equals(action)) { handleWifiStateChanged(intent.getIntExtra( WifiManager.EXTRA_WIFI_STATE, WifiManager.WIFI_STATE_UNKNOWN)); } else if (WifiManager.SUPPLICANT_STATE_CHANGED_ACTION.equals(action)) { if (!mConnected.get()) { handleStateChanged(WifiInfo.getDetailedStateOf((SupplicantState) intent.getParcelableExtra(WifiManager.EXTRA_NEW_STATE))); } } else if (WifiManager.NETWORK_STATE_CHANGED_ACTION.equals(action)) { NetworkInfo info = (NetworkInfo) intent.getParcelableExtra( WifiManager.EXTRA_NETWORK_INFO); mConnected.set(info.isConnected()); handleStateChanged(info.getDetailedState()); } } };按楼上方法就行了,可以参考wifienable.java 在android下编译.C程序出错 为什么在国内android market会搜索出很多韩国应用 android surfaceView改变大小了,增加的部分怎么是黑的啊? jni里能否调用纯C/c++的so库吗? android ndk 静态库调试 一个难题请假高手:如何查询TextView关键字位置并给与加亮? Android图片分割 android如何实现清空SD卡资料 这个控件是怎么实现的? android weight的用法 【咨询贴】就医类app android和ios两个平台用phoneGap开发 手机连接wifi,怎么获取这个该wifi局域网中所有的IP
Returns
One of WIFI_STATE_DISABLED, WIFI_STATE_DISABLING, WIFI_STATE_ENABLED, WIFI_STATE_ENABLING, WIFI_STATE_UNKNOWNpublic boolean isWifiEnabled ()
Returns
true if Wi-Fi is enabled
183 mFilter = new IntentFilter();
184 mFilter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION);
185 mFilter.addAction(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION);
186 mFilter.addAction(WifiManager.NETWORK_IDS_CHANGED_ACTION);
187 mFilter.addAction(WifiManager.SUPPLICANT_STATE_CHANGED_ACTION);
188 mFilter.addAction(WifiManager.CONFIGURED_NETWORKS_CHANGED_ACTION);
189 mFilter.addAction(WifiManager.LINK_CONFIGURATION_CHANGED_ACTION);
190 mFilter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION);
191 mFilter.addAction(WifiManager.RSSI_CHANGED_ACTION);
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (WifiManager.WIFI_STATE_CHANGED_ACTION.equals(action)) {
handleWifiStateChanged(intent.getIntExtra(
WifiManager.EXTRA_WIFI_STATE, WifiManager.WIFI_STATE_UNKNOWN));
} else if (WifiManager.SUPPLICANT_STATE_CHANGED_ACTION.equals(action)) {
if (!mConnected.get()) {
handleStateChanged(WifiInfo.getDetailedStateOf((SupplicantState)
intent.getParcelableExtra(WifiManager.EXTRA_NEW_STATE)));
}
} else if (WifiManager.NETWORK_STATE_CHANGED_ACTION.equals(action)) {
NetworkInfo info = (NetworkInfo) intent.getParcelableExtra(
WifiManager.EXTRA_NETWORK_INFO);
mConnected.set(info.isConnected());
handleStateChanged(info.getDetailedState());
}
}
};按楼上方法就行了,可以参考wifienable.java