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(); }
通过广播进行网络状态监听
最新推荐文章于 2022-12-30 14:16:26 发布