新建一个类继承BroadcastReceiver,用于接收广播,并作相应的处理
class NetChangeReceiver extends BroadcastReceiver { ,,@Override ,,,public void onReceive (Context 上下文,Intent 意图),{ ,,,,,,,String action =, intent.getAction (); ,,,,,,,if (action.equals (ConnectivityManager.CONNECTIVITY_ACTION)), { ,,,,,,,,,,,System.out.println(“网络状态更改”); ,,,,,,,}else if (action.equals (EthernetManager.ETHERNET_STATE_CHANGED_ACTION)), { ,,,,,,,,,,,System.out.println(“网线状态更改”); ,,,,,,,} ,,,} }
在AndroidMenifest.xml的& lt; application> & lt;/application>标签中注册广播接收过滤条件
& lt; !——,网络更改广播,——比; & lt; receiver  android: name=" com.coship.entropic.factorytest.receiver.NetChangeReceiver祝辞 ,,,& lt; intent-filter> ,,,,,,,& lt; action android: name=" android.net.conn.CONNECTIVITY_CHANGE ",/比; ,,,& lt;/intent-filter> & lt;/receiver> & lt; !——,网线状态改变广播,——比; & lt; receiver  android: name=" com.coship.entropic.factorytest.receiver.NetChangeReceiver祝辞 ,,,& lt; intent-filter> ,,,,,,,& lt; action android: name=" android.net.ethernet.ETHERNET_STATE_CHANGED ",/比; ,,,& lt;/intent-filter> & lt;/receiver>
接收广播只需要以上两个步骤,当然还需要配置权限
& lt; uses-permission android: name=" android.permission.ACCESS_WIFI_STATE ",/比; & lt; uses-permission  android: name=" android.permission.CHANGE_WIFI_STATE ",/比; & lt; uses-permission  android: name=" android.permission.ACCESS_NETWORK_STATE ",/在
完成之后,上面的两个System.out.println();输出内容在控制台是看不到的,因为网络状态更改会导致android设备与电脑的连接断开,故而控制台不会有输出。如果要测试是否能够接收到广播,可以采用其他方式检测,比如
handler.sendEmptyMessage (0);
通知界面弹出信息提示,或者直接打印到屏幕上显示
上面的内容网上很多资料,仅仅一个需要指出的是
& lt; action android: name=" android.net.ethernet.ETHERNET_STATE_CHANGED ",/在
由于这个用的比较少,所以网上的资料也很少。下面罗列一下有线连接相关的动作
ConnectivityManager.CONNECTIVITY_ACTION ,,,//网络状态更改//对应action.equals (ConnectivityManager.CONNECTIVITY_ACTION) EthernetManager.ETHERNET_START_INTERFACE_ACTION EthernetManager.ETHERNET_STATE_CHANGED_ACTION EthernetManager.ETHERNET_STOP_INTERFACE_ACTION EthernetManager.NETWORK_CONNECTED_ACTION EthernetManager.NETWORK_DISCONNECTED_ACTION EthernetManager.NETWORK_STATE_CHANGED_ACTION ,,,//网线状态更改//对应action.equals (EthernetManager.ETHERNET_STATE_CHANGED_ACTION)//可以相应网线的热插拔事件