安卓网络连接相关广播

  


新建一个类继承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)//可以相应网线的热插拔事件


安卓网络连接相关广播