80,351
社区成员
发帖
与我相关
我的任务
分享
ConnectivityManager manager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
State wifi = manager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();
if(wifi == State.CONNECTED){
//WIFI已连接
}
监听WifiManager.NETWORK_STATE_CHANGED_ACTION可以获取WIFI网络连接状态改变的广播
监听WifiManager.WIFI_STATE_CHANGED_ACTION可以获取WIFI状态改变的广播(打开、关闭、正在打开、正在关闭、未知)。
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
System.out.println(intent.getAction());
if(intent.getAction().equals(WifiManager.RSSI_CHANGED_ACTION))
{
//信号强度改变
int strength=getStrength(context);
System.out.println("当前信号 "+strength);
}else if(intent.getAction().equals(WifiManager.NETWORK_STATE_CHANGED_ACTION)){
System.out.println("网络状态改变");
NetworkInfo info=intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO);
if(info.getState().equals(NetworkInfo.State.DISCONNECTED))
{
//WIFI网络断开
} else if(...){
//其他状态
}
}else if(intent.getAction().equals(WifiManager.WIFI_STATE_CHANGED_ACTION))
{
//WIFI开关
int wifistate=intent.getIntExtra(WifiManager.EXTRA_WIFI_STATE,WifiManager.WIFI_STATE_DISABLED);
if(wifistate==WifiManager.WIFI_STATE_DISABLED)
{
//WIFI关闭
} else if(...){
//其他状态
}
}
}
需要权限:
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />