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 socket接受数据很慢 如何启动系统自带闹钟? 求教notification问题? Android报表组件 ProgressDialog 禁止取消 android新手 调用系统默认播放器播放视频在视频没有放完时如何关闭播放器 安卓4.0 Phone.apk被屏蔽 如何让他能在抽屉显示 请各位讲解支招 Android 传递 数据 intent 重叠布局点击时相应布局置于其它布局之上 安卓开发新浪微博项目遇到问题 【咨询贴】就医类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