1.创建广播类
public class NetReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
ConnectivityManager manager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
//获取wifi链接信息
NetworkInfo wifiNetworkInfo = manager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
//获取移动网络链接信息
NetworkInfo mobileNetworkInfo = manager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
if(wifiNetworkInfo.isConnected() && !mobileNetworkInfo.isConnected() ){
Toast.makeText(context, "WIFI已连接,移动数据已断开", Toast.LENGTH_SHORT).show();
}else if(!wifiNetworkInfo.isConnected() && mobileNetworkInfo.isConnected()){
Toast.makeText(context, "WIFI已断开,移动数据已连接", Toast.LENGTH_SHORT).show();
}else if(!wifiNetworkInfo.isConnected() && !mobileNetworkInfo.isConnected()){
Toast.makeText(context, "网络异常,请检查设置", Toast.LENGTH_SHORT).show();
}
}
}
2.注册广播
NetReceiver netReceiver=null;
@Override
public void onResume() {
if(netReceiver==null){
netReceiver = new NetReceiver();
}
IntentFilter filter=new IntentFilter();
filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
getActivity().registerReceiver(netReceiver,filter);
super.onResume();
}
3.注销广播
@Override
public void onPause() {
getActivity().unregisterReceiver(netReceiver);
System.out.println("====注销");
super.onPause();
}